#!/bin/bash echo "-- Matching Versions: $AVM_VERSION-$AVM_SUBVERSION - $AVM_2_VERSION-$AVM_2_SUBVERSION" # only executed if productname is changed if [ ! -e "${SRC}"/etc/default.${CONFIG_PRODUKT} ]; then echo -e "\033[1m${SORCE_PRODUKT} ---> ${CONFIG_PRODUKT}\033[0m " echo2 "-- Move contents of OEM directory:" echo2 " move /etc/default.${SORCE_PRODUKT} --> /etc/default.${CONFIG_PRODUKT}" mkdir -m 755 "${SRC}/etc/default.${CONFIG_PRODUKT}" "$TAR" -c -C "${SRC}/etc/default.${SORCE_PRODUKT}" . | "$TAR" -x -C "${SRC}/etc/default.${CONFIG_PRODUKT}" rm -fr "${SRC}"/etc/default.${SORCE_PRODUKT} fi echo "Replacing hardware related files of AVM firmware images ..." echo2 " -- copy original AVM module:" echo2 " /lib/modules" if [ ${ATA_ONLY} = "n" ]; then #add DSL driver dependig on the settings made #7170 [ ${SAVE_AVM_DSL} = "y" ] && [ -f "${SRC}"/lib/modules/microvoip-dsl.bin ] && cp -fdrp "${SRC}"/lib/modules/microvoip-dsl.bin --target-directory=./addon/tmp/modules &&\ echo "-- AVM DSL driver saved to: ./addon/tmp/modules!" [ ${SAVE_SRC2_DSL} = "y" ] && [ -f "${SRC_2}"/lib/modules/microvoip-dsl.bin ] && cp -fdrp "${SRC_2}"/lib/modules/microvoip-dsl.bin --target-directory=./addon/tmp/modules &&\ echo "-- AVM DSL driver saved to: ./addon/tmp/modules!" [ ${USE_OWN_DSL} = "y" ] && [ -f ./addon/tmp/modules/microvoip-dsl.bin ] && cp -fdrp ./addon/tmp/modules/microvoip-dsl.bin --target-directory="${SRC}"/lib/modules &&\ echo "-- DSL driver was taken from local directory ./addon/tmp/modules!" [ ${USE_SRC2_DSL} = "y" ] && [ -f "${SRC_2}"/lib/modules/microvoip-dsl.bin ] && cp -fdrp "${SRC_2}"/lib/modules/microvoip-dsl.bin --target-directory="${SRC}"/lib/modules &&\ echo "-- DSL driver was taken from ${SORCE_2_PRODUKT}!" #add DSL driver dependig on the settings made in #7270 #annex B driver mkdir -p ./addon/tmp/modules/dsp_ur8 if [ -d "${SRC}/lib/modules/dsp_ur8" ]; then [ ${SAVE_AVM_DSL} = "y" ] && [ -f "${SRC}/lib/modules/dsp_ur8/ur8-B-dsl.bin" ] && cp -fdrp "${SRC}"/lib/modules/dsp_ur8/ur8-B-dsl.bin --target-directory=./addon/tmp/modules/dsp_ur8 &&\ echo "-- AVM DSL Annex B driver saved to: ./addon/tmp/modules!" [ ${SAVE_SRC2_DSL} = "y" ] && [ -f "${SRC_2}/lib/modules/dsp_ur8/ur8-B-dsl.bin" ] && cp -fdrp "${SRC_2}"/lib/modules/dsp_ur8/ur8-B-dsl.bin --target-directory=./addon/tmp/modules/dsp_ur8 &&\ echo "-- AVM DSL Annex B driver saved to: ./addon/tmp/modules!" [ ${USE_OWN_DSL} = "y" ] && [ -f "./addon/tmp/modules/dsp_ur8/ur8-B-dsl.bin" ] && cp -fdrp ./addon/tmp/modules/dsp_ur8/ur8-B-dsl.bin --target-directory="${SRC}"/lib/modules/dsp_ur8 &&\ echo "-- DSL Annex B driver was taken from local directory ./addon/tmp/modules!" [ ${USE_SRC2_DSL} = "y" ] && [ -f "${SRC_2}/lib/modules/dsp_ur8/ur8-B-dsl.bin" ] && cp -fdrp "${SRC_2}"/lib/modules/dsp_ur8/ur8-B-dsl.bin --target-directory="${SRC}"/lib/modules/dsp_ur8 &&\ echo "-- DSL Annex B driver was taken from ${SORCE_2_PRODUKT}!" #annex A driver [ ${SAVE_AVM_DSL} = "y" ] && [ -f "${SRC}/lib/modules/dsp_ur8/ur8-A-dsl.bin" ] && cp -fdrp "${SRC}"/lib/modules/dsp_ur8/ur8-A-dsl.bin --target-directory=./addon/tmp/modules/dsp_ur8 &&\ echo "-- AVM DSL Annex A driver saved to: ./addon/tmp/modules!" [ ${SAVE_SRC2_DSL} = "y" ] && [ -f "${SRC_2}/lib/modules/dsp_ur8/ur8-A-dsl.bin" ] && cp -fdrp "${SRC_2}"/lib/modules/dsp_ur8/ur8-A-dsl.bin --target-directory=./addon/tmp/modules/dsp_ur8 &&\ echo "-- AVM DSL Annex A driver saved to: ./addon/tmp/modules!" [ ${USE_OWN_DSL} = "y" ] && [ -f "./addon/tmp/modules/dsp_ur8/ur8-A-dsl.bin" ] && cp -fdrp ./addon/tmp/modules/dsp_ur8/ur8-A-dsl.bin --target-directory="${SRC}"/lib/modules/dsp_ur8 &&\ echo "-- DSL Annex A driver was taken from local directory ./addon/tmp/modules!" [ ${USE_SRC2_DSL} = "y" ] && [ -f "${SRC_2}/lib/modules/dsp_ur8/ur8-A-dsl.bin" ] && cp -fdrp "${SRC_2}"/lib/modules/dsp_ur8/ur8-A-dsl.bin --target-directory="${SRC}"/lib/modules/dsp_ur8 &&\ echo "-- DSL Annex A driver was taken from ${SORCE_2_PRODUKT}!" fi else #remove ADSL #dont start dsl sed -i -e 's|/etc/init.d/rc.dsl.sh start||' "${SRC}/etc/init.d/rc.S" rm -fr "${SRC}"/lib/modules/dsp_ur8 rm -f "${SRC}"/lib/modules/microvoip-dsl.bin #<-- ATA only fi # set led definition if [ -f "${DST}"/lib/modules/$KernelVersion/kernel/drivers/char/led_module.ko ] && [ "${FORCE_TCOM_LEDDRIVER}" = "y" ]; then cp -fdrp "${DST}"/lib/modules/$KernelVersion/kernel/drivers/char/led_module.ko --target-directory="${SRC}"/lib/modules/$KernelVersion/kernel/drivers/char cp -fdrp "${DST}"/lib/libled* --target-directory="${SRC}"/lib cp -fdrp "${DST}"/bin/led* --target-directory="${SRC}"/bin cp -fr "${DST}"/bin/update_led_on ${SRC}/bin/update_led_on cp -fr "${DST}"/bin/update_led_off ${SRC}/bin/update_led_off echo "-- LED driver was taken from the original base firmware" fi if [ -f "${SRC_2}"/lib/modules/$KernelVersion/kernel/drivers/char/led_module.ko ] && [ "${FORCE_SRC2_LEDDRIVER}" = "y" ]; then cp -fdrp "${SRC_2}"/lib/modules/$KernelVersion/kernel/drivers/char/led_module.ko --target-directory="${SRC}"/lib/modules/$KernelVersion/kernel/drivers/char cp -fdrp "${SRC_2}"/lib/libled* --target-directory="${SRC}"/lib cp -fdrp "${SRC_2}"/bin/led* --target-directory="${SRC}"/bin cp -fr "${SRC_2}"/bin/update_led_on ${SRC}/bin/update_led_on cp -fr "${SRC_2}"/bin/update_led_off ${SRC}/bin/update_led_off echo "-- LED driver was taken from AVM source 2 firmware" fi #save space on 8MB boxes specially [ "${REMOVE_ANNEX_B_DSL_DRIVER}" = "y" ] && [ -f "${SRC}/lib/modules/dsp_ur8/ur8-B-dsl.bin" ] && rm -f "${SRC}"/lib/modules/dsp_ur8/ur8-B-dsl.bin &&\ echo "-- DSL Annex B driver was removed from ${SORCE_PRODUKT}!" #save space on 8MB boxes specially [ "${REMOVE_ANNEX_A_DSL_DRIVER}" = "y" ] && [ -f "${SRC}/lib/modules/dsp_ur8/ur8-A-dsl.bin" ] && rm -f "${SRC}"/lib/modules/dsp_ur8/ur8-A-dsl.bin &&\ echo "-- DSL Annex A driver was removed from ${SORCE_PRODUKT}!" #copy second source www dir [ ${USE_SOURCE2_WEBMNUE} = "y" ] && $sh2_DIR/copy_www_SRC2 "${SRC}" "${SRC_2}" [ ${USE_SOURCE2_WEBMNUE} = "y" ] && . $inc_DIR/get_SRC2_ver #copy second source internet dsl menue [ ${USE_SOURCE2_DSLMNUE} = "y" ] && $sh2_DIR/copy_dsl_tab_pages_SRC2 "${SRC}" "${SRC_2}" echo2 "-- copy complete AVM source to destination directory!" # correct setings to fit hardware $sh_DIR/patch_config_rc.conf.sh "${SRC}" "${DST}" 7270 #patch annex parameter $sh_DIR/patch_annex.sh "${SRC}" #take WLAN from original cp -fdrp "${DST}"/lib/modules/wlan_eeprom_hw0.bin --target-directory="${SRC}"/lib/modules &&\ echo "-- wlan_eeprom_hw0.bin driver was taken from original 7240 AVM source." cp -fdrp "${DST}"/lib/modules/c55fw.hex --target-directory="${SRC}"/lib/modules &&\ echo "-- c55fw.hex driver was taken from original 7240 AVM source." # add language timezone country $sh_DIR/add_multi_settings.sh cp -fdrp "${DST}"/lib/modules/dectfw_firstlevel_488.hex --target-directory="${SRC}"/lib/modules &&\ cp -fdrp "${DST}"/lib/modules/dectfw_secondlevel_488.hex --target-directory="${SRC}"/lib/modules &&\ echo "-- DECT driver was taken from original AVM source." if [ "${SAVE_SRC2_DECTDRIVER}" = "y" ]; then mkdir -p ./addon/tmp/W920/squashfs-root/lib/modules cp -fdrp "${SRC_2}"/lib/modules/dectfw_firstlevel_488.hex --target-directory=./addon/tmp/W920/squashfs-root/lib/modules &&\ cp -fdrp "${SRC_2}"/lib/modules/dectfw_secondlevel_488.hex --target-directory=./addon/tmp/W920/squashfs-root/lib/modules &&\ echo "-- 2nd AVM Firmware DECT driver saved to: ./addon/tmp/W920" fi [ "${FORCE_SRC2_DECTDRIVER}" = "y" ] && cp -fdrp "${SRC_2}"/lib/modules/dectfw_firstlevel_488.hex --target-directory="${SRC}"/lib/modules &&\ cp -fdrp "${SRC_2}"/lib/modules/dectfw_secondlevel_488.hex --target-directory="${SRC}"/lib/modules &&\ echo "-- DECT driver was taken from 2nd AVM source." [ "${FORCE_OWN_DECTDRIVER}" = "y" ] && cp -fdrp ./addon/tmp/W920/squashfs-root/lib/modules/dectfw_firstlevel_488.hex --target-directory="${SRC}"/lib/modules &&\ cp -fdrp ./addon/tmp/W920/squashfs-root/lib/modules/dectfw_secondlevel_488.hex --target-directory="${SRC}"/lib/modules &&\ echo "-- DECT driver was taken from local directory ./addon/tmp/W920" if `cat "${SRC}/etc/init.d/rc.S" | grep -q 'level.hex' ` && ! [ -f "${SRC}"/lib/modules/dectfw_firstlevel_488.hex ]; then echo "You must use DECT driver from 2nd AVM source or one that was saved before" && sleep 10 && exit 1 fi ! `cat "${SRC}/etc/init.d/rc.S" | grep -q 'xx=.cat /proc/mtd | grep ."jffs2.".' ` &&\ [ "$DO_NOT_STOP_ON_ERROR" != "y" ] && echo "could not reinsert pigletsectio into rc.S" >> "${HOMEDIR}/${ERR_LOGFILE}" # delete section sed -i -e "/piglet_bitfile=\//,/modprobe/d" "${SRC}/etc/init.d/rc.S" sed -i -e '/piglet_bitfile=$piglet_bitfile \\/d' "${SRC}/etc/init.d/rc.S" sed -i -e '/piglet_enable_button=2 \\/d' "${SRC}/etc/init.d/rc.S" sed -i -e '/dect_firstlevelfile=$dect_firstlevelfile \\/d' "${SRC}/etc/init.d/rc.S" sed -i -e '/dect_secondlevelfile=$dect_secondlevelfile \\/d' "${SRC}/etc/init.d/rc.S" sed -i -e '/dect_firstlevelfile=\/lib\/modules\/dectfw_firstlevel_488.hex/d' "${SRC}/etc/init.d/rc.S" sed -i -e '/dect_secondlevelfile=\/lib\/modules\/dectfw_secondlevel_488.hex/d' "${SRC}/etc/init.d/rc.S" sed -i -e '/$piglet_load_params/d' "${SRC}/etc/init.d/rc.S" sed -i -e '/## DECT-Anlage braucht/d' "${SRC}/etc/init.d/rc.S" sed -i -e 's/7270/7240/' "${SRC}/etc/init.d/rc.S" # add section sed -i -e '/xx=.cat \/proc\/mtd | grep ."jffs2."./i\ dect_firstlevelfile=/lib/modules/dectfw_firstlevel_488.hex\ dect_secondlevelfile=/lib/modules/dectfw_secondlevel_488.hex\ piglet_bitfile=/lib/modules/microvoip_isdn_top.bit\ piglet_potsbitfile=/lib/modules/bitfile_pots.bit\ piglet_bitfilemode=`/bin/testvalue /var/flash/telefon_misc 4 2638`\ if [ -z $piglet_bitfilemode ] ; then piglet_bitfilemode=0 ; fi\ echo PigletMode: $piglet_bitfilemode\ piglet_load_params="\\\ piglet_enable_button=2 \\\ piglet_bitfilemode=$piglet_bitfilemode \\\ piglet_use_pll3_clk=1 \\\ dect_firstlevelfile=$dect_firstlevelfile \\\ dect_secondlevelfile=$dect_secondlevelfile \\\ "\ modprobe Piglet_noemif piglet_bitfile=$piglet_bitfile piglet_potsbitfile=$piglet_potsbitfile $piglet_load_params' "${SRC}/etc/init.d/rc.S" #remove 7270 DECT driver rm -f "${SRC}"/lib/modules/dectfw_firstlevel.hex rm -f "${SRC}"/lib/modules/dectfw_secondlevel.hex #xilinx driver must be for the hardware in use rm -f "${SRC}"/lib/modules/microvoip_isdn_top.bit rm -f "${SRC}"/lib/modules/bitfile.bit # 7240 rm -f "${SRC}"/lib/modules/bitfile_pots.bit rm -f "${SRC}"/lib/modules/bitfile_isdn.bit [ -e "${DST}"/lib/modules/bitfile_pots.bit ] && cp -fdrp "${DST}"/lib/modules/bitfile_pots.bit --target-directory="${SRC}"/lib/modules &&\ echo "-- Xilinx bitfile was taken from the original base firmware" [ -e "${DST}"/lib/modules/bitfile_isdn.bit ] && cp -fdrp "${DST}"/lib/modules/bitfile_isdn.bit --target-directory="${SRC}"/lib/modules &&\ [ -e "${DST}"/lib/modules/bitfile_isdn.bit ] && cp -fdrp "${DST}"/lib/modules/bitfile_isdn.bit "${SRC}"/lib/modules/microvoip_isdn_top.bit &&\ echo "-- Xilinx bitfile was taken from the original base firmware" [ -e "${DST}"/lib/modules/bitfile.bit ] && cp -fdrp "${DST}"/lib/modules/bitfile.bit "${SRC}"/lib/modules/microvoip_isdn_top.bit &&\ echo "-- Xilinx bitfile was taken from the original base firmware" if [ "${ENFORCE_HWREVISION}" != "y" ]; then #But pluginsupport needs AVM HWrevision to setup the download URL for plugins #workaround for HWRevision if [ -f "${SRC}/sbin/start_plugin.sh" ]; then sed -i -e "/ url=\"\`\/sbin\/pluginurl\`\"/i\ export HWRevision=\"$FBHWRevision\"" "${SRC}/sbin/start_plugin.sh" sed -i -e "/ url=\"\`\/sbin\/pluginurl\`\"/a\ export HWRevision=\"$HWID\"" "${SRC}/sbin/start_plugin.sh" fi fi sed -i -e "s|hardware=\${HWRevision}|hardware=${FBHWRevision}|" "${SRC}/etc/init.d/rc.conf" # remove menus [ ${REMOVE_MENU_ITEM} = "y" ] && $sh_DIR/rmv_menus.sh "${SRC}" "${FBMOD}" # add buchsend button to fon bookpage [ "${ADD_PHONESEND}" = "y" ] && $sh_DIR/patch_fonbuch.sh "${SRC}" #remove kids and help [ "${REMOVE_KIDS}" = "y" ] && $sh_DIR/rmv_kids.sh "${SRC}" [ "${REMOVE_HELP}" = "y" ] && $sh_DIR/rmv_help.sh "${SRC}" echo "********************************************************************************" sleep 1