Fritzbox 6490 Cable Bootloop

Es ist allerdings nicht ganz selbstverständlich, nach dem zu urteilen, was man von anderen hier ab und an mal liest ... also laß es mich noch einmal betonen: Die verwendeten Daten für das Environment müssen natürlich von der eigenen Box sein oder zumindest zur eigenen Box "passend gemacht" werden - es gibt (oder gab) hier auch falsche Anleitungen, die dafür auf irgendwelche Anhänge/Code-Blöcke aus fremden Beiträgen zurückgreifen wollten. Deine scheinen aber wirklich zu Deiner Box zu gehören ... also alles gut. Ich will nur nicht, daß der Nächste hier irgendwo liest, Deine Box würde wieder arbeiten und dann zu Deinem Environment greift für seine eigene Box. Irgendwo in einem früheren Beitrag hier ist es ja dann doch zu sehen - ich hatte oben nur ausdrücklich betont, daß ich eigentlich nicht zurückblättern wollte zum Lesen und alles vor #64 nur aus dem Gedächtnis bzw. dem "Gefühl" bezog, weil ich mir auch nicht bei jedem Beitrag ansehe, von wem der nun ist und ob das alles derselbe Fragesteller war.
Ich weiß welchen vorfall du meinst, ich habe es gelesen @stoney @xbutan ;)
 
Code:
ice@DESKTOP-PL65RLI:/mnt/c/test/Neu/tffs$ bash -x ./build_tffs_image /mnt/c/test/nametable /mnt/c/test/env.txt /mnt/c/te
st/count.txt > /mnt/c/test/1/mtd.img
+ . ./yf_helpers
+++ find ./functions/ -name '*.function'
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_base64.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_base64.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_base64_decode.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_base64_decode.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_bin2dec.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_bin2dec.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_bin2hex.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_bin2hex.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_bridge_interfaces.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_bridge_interfaces.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_count_of.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_count_of.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_dec2hex.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_dec2hex.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_endianess.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_endianess.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_endianess_by_routing_table.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_endianess_by_routing_table.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_find_mountpoint.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_find_mountpoint.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_fritzos_model_settings.function = yf_fritzos_model_settings.function ']'
++ continue
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_fritzos_partition_device_name.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_fritzos_partition_device_name.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_from_right.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_from_right.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_bridge.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_bridge.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_bridge_members.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_bridge_members.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_default_gateway_address.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_default_gateway_address.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_default_gateway_interface.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_default_gateway_interface.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_first_host_in_subnet.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_first_host_in_subnet.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_fritzos_partition_by_name.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_fritzos_partition_by_name.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_fritzos_partition_by_number.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_fritzos_partition_by_number.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_fstype_for_mountpoint.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_fstype_for_mountpoint.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_ip_address.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_ip_address.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_last_host_in_subnet.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_last_host_in_subnet.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_hex2bin.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_hex2bin.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_hex2dec.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_hex2dec.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_index_of.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_index_of.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_initialize_ringbuffer.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_initialize_ringbuffer.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_ipv4_address.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_ipv4_address.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_is_bridge_interface.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_is_bridge_interface.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_is_bridge_member.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_is_bridge_member.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_is_decimal.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_is_decimal.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_is_fritzos_device.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_is_fritzos_device.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_is_hexadecimal.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_is_hexadecimal.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_is_mountpoint_writable.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_is_mountpoint_writable.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_is_wireless_interface.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_is_wireless_interface.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_lowercase.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_lowercase.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_mktemp.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_mktemp.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_network_interfaces.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_network_interfaces.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_pack.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_pack.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_print_ip.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_print_ip.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_readable_size.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_readable_size.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_reverse_hex.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_reverse_hex.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_storage_devices.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_storage_devices.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_str2hex.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_str2hex.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_substring.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_substring.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_sysfs.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_sysfs.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_trim.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_trim.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_uppercase.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_uppercase.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_wireless_interfaces.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_wireless_interfaces.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_word_of.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_word_of.function
++ yf_is_fritzos_device
++ '[' -d /proc/sys/urlader ']'
++ return 1
+ yf_pack B16 1 B16 4 8 255 8 255 8 255 8 254
+ out=
+ '[' 3 -gt 0 ']'
+ type=B16
+ val=1
+ shift 2
++ yf_substring B16 0 1
++ yf_uppercase
++ in=B16
++ start=0
++ len=1
++ '[' 3 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 3 -lt 0 ']'
++ '[' -n 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ '[' 1 -gt 3 ']'
++ len='\{1\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{1\}\).*|\1|p'
++ printf B16
++ sed -n -e 's|^\(.\{1\}\).*|\1|p'
++ return 0
++ return 0
+ endian=B
+ '[' B = B -o B = L ']'
++ yf_substring B16 1
++ in=B16
++ start=1
++ len=
++ '[' 3 -eq 0 ']'
++ '[' -z 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 3 -lt 1 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=2
++ len='\{2\}'
++ '[' 1 -gt 0 ']'
++ mask='s|^.\{1\}\(.\{2\}\).*|\1|p'
++ printf B16
++ sed -n -e 's|^.\{1\}\(.\{2\}\).*|\1|p'
++ return 0
+ type=16
+ case $type in
++ yf_dec2hex 1 2
++ val=1
++ len=2
++ mask=%x
++ '[' 1 -eq 0 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ len=4
++ mask=%04x
++ printf %04x 1
++ return 0
+ hex=0001
+ '[' 0 -ne 0 ']'
+ '[' '!' -z B ']'
+ '[' B == L ']'
+ out=0001
+ '[' 3 -gt 0 ']'
+ type=B16
+ val=4
+ shift 2
++ yf_substring B16 0 1
++ yf_uppercase
++ in=B16
++ start=0
++ len=1
++ '[' 3 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 3 -lt 0 ']'
++ '[' -n 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ '[' 1 -gt 3 ']'
++ len='\{1\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{1\}\).*|\1|p'
++ printf B16
++ sed -n -e 's|^\(.\{1\}\).*|\1|p'
++ return 0
++ return 0
+ endian=B
+ '[' B = B -o B = L ']'
++ yf_substring B16 1
++ in=B16
++ start=1
++ len=
++ '[' 3 -eq 0 ']'
++ '[' -z 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 3 -lt 1 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=2
++ len='\{2\}'
++ '[' 1 -gt 0 ']'
++ mask='s|^.\{1\}\(.\{2\}\).*|\1|p'
++ printf B16
++ sed -n -e 's|^.\{1\}\(.\{2\}\).*|\1|p'
++ return 0
+ type=16
+ case $type in
++ yf_dec2hex 4 2
++ val=4
++ len=2
++ mask=%x
++ '[' 1 -eq 0 ']'
++ yf_is_decimal 4
+++ printf 4
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ len=4
++ mask=%04x
++ printf %04x 4
++ return 0
+ hex=0004
+ '[' 0 -ne 0 ']'
+ '[' '!' -z B ']'
+ '[' B == L ']'
+ out=00010004
+ '[' 1 -gt 0 ']'
+ type=8
+ val=255
+ shift 2
++ yf_substring 8 0 1
++ yf_uppercase
++ in=8
++ start=0
++ len=1
++ '[' 1 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 1 -lt 0 ']'
++ '[' -n 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ '[' 1 -gt 1 ']'
++ len='\{1\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{1\}\).*|\1|p'
++ printf 8
++ sed -n -e 's|^\(.\{1\}\).*|\1|p'
++ return 0
++ return 0
+ endian=8
+ '[' 8 = B -o 8 = L ']'
+ unset endian
+ case $type in
++ yf_dec2hex 255 1
++ val=255
++ len=1
++ mask=%x
++ '[' 3 -eq 0 ']'
++ yf_is_decimal 255
+++ printf 255
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ len=2
++ mask=%02x
++ printf %02x 255
++ return 0
+ hex=ff
+ '[' 0 -ne 0 ']'
+ '[' '!' -z ']'
++ yf_endianess
+++ dd if=/proc/self/exe bs=1 count=1 skip=5
+++ yf_base64
+++ '[' -t 0 ']'
+++ command -v base64
+++ command base64
+++ base64
+++ rc=0
+++ return 0
++ '[' AQ== = AQ== ']'
++ printf L
++ return 0
+ '[' L == L ']'
++ yf_reverse_hex ff
++ in=ff
++ out=
++ '[' 2 -gt 0 ']'
+++ yf_substring ff 0 2
+++ in=ff
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=ff
+++ yf_substring ff 2
+++ in=ff
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ in=
++ out=ff
++ '[' 0 -gt 0 ']'
++ printf ff
++ return 0
+ hex=ff
+ out=00010004ff
+ '[' 1 -gt 0 ']'
+ type=8
+ val=255
+ shift 2
++ yf_substring 8 0 1
++ yf_uppercase
++ in=8
++ start=0
++ len=1
++ '[' 1 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 1 -lt 0 ']'
++ '[' -n 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ '[' 1 -gt 1 ']'
++ len='\{1\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{1\}\).*|\1|p'
++ printf 8
++ sed -n -e 's|^\(.\{1\}\).*|\1|p'
++ return 0
++ return 0
+ endian=8
+ '[' 8 = B -o 8 = L ']'
+ unset endian
+ case $type in
++ yf_dec2hex 255 1
++ val=255
++ len=1
++ mask=%x
++ '[' 3 -eq 0 ']'
++ yf_is_decimal 255
+++ printf 255
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ len=2
++ mask=%02x
++ printf %02x 255
++ return 0
+ hex=ff
+ '[' 0 -ne 0 ']'
+ '[' '!' -z ']'
++ yf_endianess
+++ dd if=/proc/self/exe bs=1 count=1 skip=5
+++ yf_base64
+++ '[' -t 0 ']'
+++ command -v base64
+++ command base64
+++ base64
+++ rc=0
+++ return 0
++ '[' AQ== = AQ== ']'
++ printf L
++ return 0
+ '[' L == L ']'
++ yf_reverse_hex ff
++ in=ff
++ out=
++ '[' 2 -gt 0 ']'
+++ yf_substring ff 0 2
+++ in=ff
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=ff
+++ yf_substring ff 2
+++ in=ff
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ in=
++ out=ff
++ '[' 0 -gt 0 ']'
++ printf ff
++ return 0
+ hex=ff
+ out=00010004ffff
+ '[' 1 -gt 0 ']'
+ type=8
+ val=255
+ shift 2
++ yf_substring 8 0 1
++ yf_uppercase
++ in=8
++ start=0
++ len=1
++ '[' 1 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 1 -lt 0 ']'
++ '[' -n 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ '[' 1 -gt 1 ']'
++ len='\{1\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{1\}\).*|\1|p'
++ printf 8
++ sed -n -e 's|^\(.\{1\}\).*|\1|p'
++ return 0
++ return 0
+ endian=8
+ '[' 8 = B -o 8 = L ']'
+ unset endian
+ case $type in
++ yf_dec2hex 255 1
++ val=255
++ len=1
++ mask=%x
++ '[' 3 -eq 0 ']'
++ yf_is_decimal 255
+++ printf 255
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ len=2
++ mask=%02x
++ printf %02x 255
++ return 0
+ hex=ff
+ '[' 0 -ne 0 ']'
+ '[' '!' -z ']'
++ yf_endianess
+++ dd if=/proc/self/exe bs=1 count=1 skip=5
+++ yf_base64
+++ '[' -t 0 ']'
+++ command -v base64
+++ command base64
+++ base64
+++ rc=0
+++ return 0
++ '[' AQ== = AQ== ']'
++ printf L
++ return 0
+ '[' L == L ']'
++ yf_reverse_hex ff
++ in=ff
++ out=
++ '[' 2 -gt 0 ']'
+++ yf_substring ff 0 2
+++ in=ff
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=ff
+++ yf_substring ff 2
+++ in=ff
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ in=
++ out=ff
++ '[' 0 -gt 0 ']'
++ printf ff
++ return 0
+ hex=ff
+ out=00010004ffffff
+ '[' 1 -gt 0 ']'
+ type=8
+ val=254
+ shift 2
++ yf_substring 8 0 1
++ yf_uppercase
++ in=8
++ start=0
++ len=1
++ '[' 1 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 1 -lt 0 ']'
++ '[' -n 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ '[' 1 -gt 1 ']'
++ len='\{1\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{1\}\).*|\1|p'
++ printf 8
++ sed -n -e 's|^\(.\{1\}\).*|\1|p'
++ return 0
++ return 0
+ endian=8
+ '[' 8 = B -o 8 = L ']'
+ unset endian
+ case $type in
++ yf_dec2hex 254 1
++ val=254
++ len=1
++ mask=%x
++ '[' 3 -eq 0 ']'
++ yf_is_decimal 254
+++ printf 254
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ len=2
++ mask=%02x
++ printf %02x 254
++ return 0
+ hex=fe
+ '[' 0 -ne 0 ']'
+ '[' '!' -z ']'
++ yf_endianess
+++ dd if=/proc/self/exe bs=1 count=1 skip=5
+++ yf_base64
+++ '[' -t 0 ']'
+++ command -v base64
+++ command base64
+++ base64
+++ rc=0
+++ return 0
++ '[' AQ== = AQ== ']'
++ printf L
++ return 0
+ '[' L == L ']'
++ yf_reverse_hex fe
++ in=fe
++ out=
++ '[' 2 -gt 0 ']'
+++ yf_substring fe 0 2
+++ in=fe
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf fe
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=fe
+++ yf_substring fe 2
+++ in=fe
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf fe
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ in=
++ out=fe
++ '[' 0 -gt 0 ']'
++ printf fe
++ return 0
+ hex=fe
+ out=00010004fffffffe
+ '[' 0 -gt 0 ']'
+ yf_hex2bin 00010004fffffffe
+ val=00010004fffffffe
+ zeroes=0
+ yf_is_hexadecimal 00010004fffffffe
++ printf 00010004fffffffe
++ sed -e 's|[0-9a-fA-F]||g'
+ in=
+ '[' 0 -gt 0 ']'
+ return 0
+ '[' 0 -ne 0 ']'
+ '[' 16 -gt 0 ']'
++ yf_substring 00010004fffffffe 0 2
++ in=00010004fffffffe
++ start=0
++ len=2
++ '[' 16 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 16 -lt 0 ']'
++ '[' -n 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ '[' 2 -gt 16 ']'
++ len='\{2\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{2\}\).*|\1|p'
++ printf 00010004fffffffe
++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
++ return 0
+ dec=00
++ yf_substring 00010004fffffffe 2
++ in=00010004fffffffe
++ start=2
++ len=
++ '[' 16 -eq 0 ']'
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 16 -lt 2 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=14
++ len='\{14\}'
++ '[' 2 -gt 0 ']'
++ mask='s|^.\{2\}\(.\{14\}\).*|\1|p'
++ printf 00010004fffffffe
++ sed -n -e 's|^.\{2\}\(.\{14\}\).*|\1|p'
++ return 0
+ val=010004fffffffe
+ '[' 00 = 00 ']'
+ zeroes=1
+ continue
+ '[' 14 -gt 0 ']'
++ yf_substring 010004fffffffe 0 2
++ in=010004fffffffe
++ start=0
++ len=2
++ '[' 14 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 14 -lt 0 ']'
++ '[' -n 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ '[' 2 -gt 14 ']'
++ len='\{2\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{2\}\).*|\1|p'
++ printf 010004fffffffe
++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
++ return 0
+ dec=01
++ yf_substring 010004fffffffe 2
++ in=010004fffffffe
++ start=2
++ len=
++ '[' 14 -eq 0 ']'
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 14 -lt 2 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=12
++ len='\{12\}'
++ '[' 2 -gt 0 ']'
++ mask='s|^.\{2\}\(.\{12\}\).*|\1|p'
++ printf 010004fffffffe
++ sed -n -e 's|^.\{2\}\(.\{12\}\).*|\1|p'
++ return 0
+ val=0004fffffffe
+ '[' 01 = 00 ']'
+ '[' 1 -gt 0 ']'
+ dd if=/dev/zero bs=1 count=1
+ zeroes=0
++ yf_hex2dec 01
++ val=01
++ out=0
++ yf_is_hexadecimal 01
+++ printf 01
+++ sed -e 's|[0-9a-fA-F]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 0 -ne 0 ']'
++ '[' 2 -gt 0 ']'
+++ yf_substring 01 0 2
+++ in=01
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf 01
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=01
+++ yf_substring 01 2
+++ in=01
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf 01
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ val=
++ out=1
++ '[' 0 -gt 0 ']'
++ printf %u 1
++ return 0
+ dec=1
+ printf %b '\0001'
+ '[' 12 -gt 0 ']'
++ yf_substring 0004fffffffe 0 2
++ in=0004fffffffe
++ start=0
++ len=2
++ '[' 12 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 12 -lt 0 ']'
++ '[' -n 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ '[' 2 -gt 12 ']'
++ len='\{2\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{2\}\).*|\1|p'
++ printf 0004fffffffe
++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
++ return 0
+ dec=00
++ yf_substring 0004fffffffe 2
++ in=0004fffffffe
++ start=2
++ len=
++ '[' 12 -eq 0 ']'
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 12 -lt 2 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=10
++ len='\{10\}'
++ '[' 2 -gt 0 ']'
++ mask='s|^.\{2\}\(.\{10\}\).*|\1|p'
++ printf 0004fffffffe
++ sed -n -e 's|^.\{2\}\(.\{10\}\).*|\1|p'
++ return 0
+ val=04fffffffe
+ '[' 00 = 00 ']'
+ zeroes=1
+ continue
+ '[' 10 -gt 0 ']'
++ yf_substring 04fffffffe 0 2
++ in=04fffffffe
++ start=0
++ len=2
++ '[' 10 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 10 -lt 0 ']'
++ '[' -n 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ '[' 2 -gt 10 ']'
++ len='\{2\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{2\}\).*|\1|p'
++ printf 04fffffffe
++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
++ return 0
+ dec=04
++ yf_substring 04fffffffe 2
++ in=04fffffffe
++ start=2
++ len=
++ '[' 10 -eq 0 ']'
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 10 -lt 2 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=8
++ len='\{8\}'
++ '[' 2 -gt 0 ']'
++ mask='s|^.\{2\}\(.\{8\}\).*|\1|p'
++ printf 04fffffffe
++ sed -n -e 's|^.\{2\}\(.\{8\}\).*|\1|p'
++ return 0
+ val=fffffffe
+ '[' 04 = 00 ']'
+ '[' 1 -gt 0 ']'
+ dd if=/dev/zero bs=1 count=1
+ zeroes=0
++ yf_hex2dec 04
++ val=04
++ out=0
++ yf_is_hexadecimal 04
+++ printf 04
+++ sed -e 's|[0-9a-fA-F]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 0 -ne 0 ']'
++ '[' 2 -gt 0 ']'
+++ yf_substring 04 0 2
+++ in=04
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf 04
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=04
+++ yf_substring 04 2
+++ in=04
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf 04
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ val=
++ out=4
++ '[' 0 -gt 0 ']'
++ printf %u 4
++ return 0
+ dec=4
+ printf %b '\0004'
+ '[' 8 -gt 0 ']'
++ yf_substring fffffffe 0 2
++ in=fffffffe
++ start=0
++ len=2
++ '[' 8 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 8 -lt 0 ']'
++ '[' -n 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ '[' 2 -gt 8 ']'
++ len='\{2\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{2\}\).*|\1|p'
++ printf fffffffe
++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
++ return 0
+ dec=ff
++ yf_substring fffffffe 2
++ in=fffffffe
++ start=2
++ len=
++ '[' 8 -eq 0 ']'
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 8 -lt 2 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=6
++ len='\{6\}'
++ '[' 2 -gt 0 ']'
++ mask='s|^.\{2\}\(.\{6\}\).*|\1|p'
++ printf fffffffe
++ sed -n -e 's|^.\{2\}\(.\{6\}\).*|\1|p'
++ return 0
+ val=fffffe
+ '[' ff = 00 ']'
+ '[' 0 -gt 0 ']'
++ yf_hex2dec ff
++ val=ff
++ out=0
++ yf_is_hexadecimal ff
+++ printf ff
+++ sed -e 's|[0-9a-fA-F]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 0 -ne 0 ']'
++ '[' 2 -gt 0 ']'
+++ yf_substring ff 0 2
+++ in=ff
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=ff
+++ yf_substring ff 2
+++ in=ff
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ val=
++ out=255
++ '[' 0 -gt 0 ']'
++ printf %u 255
++ return 0
+ dec=255
+ printf %b '\0377'
+ '[' 6 -gt 0 ']'
++ yf_substring fffffe 0 2
++ in=fffffe
++ start=0
++ len=2
++ '[' 6 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 6 -lt 0 ']'
++ '[' -n 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ '[' 2 -gt 6 ']'
++ len='\{2\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{2\}\).*|\1|p'
++ printf fffffe
++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
++ return 0
+ dec=ff
++ yf_substring fffffe 2
++ in=fffffe
++ start=2
++ len=
++ '[' 6 -eq 0 ']'
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 6 -lt 2 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=4
++ len='\{4\}'
++ '[' 2 -gt 0 ']'
++ mask='s|^.\{2\}\(.\{4\}\).*|\1|p'
++ printf fffffe
++ sed -n -e 's|^.\{2\}\(.\{4\}\).*|\1|p'
++ return 0
+ val=fffe
+ '[' ff = 00 ']'
+ '[' 0 -gt 0 ']'
++ yf_hex2dec ff
++ val=ff
++ out=0
++ yf_is_hexadecimal ff
+++ printf ff
+++ sed -e 's|[0-9a-fA-F]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 0 -ne 0 ']'
++ '[' 2 -gt 0 ']'
+++ yf_substring ff 0 2
+++ in=ff
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=ff
+++ yf_substring ff 2
+++ in=ff
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ val=
++ out=255
++ '[' 0 -gt 0 ']'
++ printf %u 255
++ return 0
+ dec=255
+ printf %b '\0377'
+ '[' 4 -gt 0 ']'
++ yf_substring fffe 0 2
++ in=fffe
++ start=0
++ len=2
++ '[' 4 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 4 -lt 0 ']'
++ '[' -n 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ '[' 2 -gt 4 ']'
++ len='\{2\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{2\}\).*|\1|p'
++ printf fffe
++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
++ return 0
+ dec=ff
++ yf_substring fffe 2
++ in=fffe
++ start=2
++ len=
++ '[' 4 -eq 0 ']'
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 4 -lt 2 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=2
++ len='\{2\}'
++ '[' 2 -gt 0 ']'
++ mask='s|^.\{2\}\(.\{2\}\).*|\1|p'
++ printf fffe
++ sed -n -e 's|^.\{2\}\(.\{2\}\).*|\1|p'
++ return 0
+ val=fe
+ '[' ff = 00 ']'
+ '[' 0 -gt 0 ']'
++ yf_hex2dec ff
++ val=ff
++ out=0
++ yf_is_hexadecimal ff
+++ printf ff
+++ sed -e 's|[0-9a-fA-F]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 0 -ne 0 ']'
++ '[' 2 -gt 0 ']'
+++ yf_substring ff 0 2
+++ in=ff
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=ff
+++ yf_substring ff 2
+++ in=ff
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ val=
++ out=255
++ '[' 0 -gt 0 ']'
++ printf %u 255
++ return 0
+ dec=255
+ printf %b '\0377'
+ '[' 2 -gt 0 ']'
++ yf_substring fe 0 2
++ in=fe
++ start=0
++ len=2
++ '[' 2 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 2 -lt 0 ']'
++ '[' -n 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ '[' 2 -gt 2 ']'
++ len='\{2\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{2\}\).*|\1|p'
++ printf fe
++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
++ return 0
+ dec=fe
++ yf_substring fe 2
++ in=fe
++ start=2
++ len=
++ '[' 2 -eq 0 ']'
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 2 -lt 2 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=0
++ len='\{0\}'
++ '[' 2 -gt 0 ']'
++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
++ printf fe
++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
++ return 0
+ val=
+ '[' fe = 00 ']'
+ '[' 0 -gt 0 ']'
++ yf_hex2dec fe
++ val=fe
++ out=0
++ yf_is_hexadecimal fe
+++ printf fe
+++ sed -e 's|[0-9a-fA-F]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 0 -ne 0 ']'
++ '[' 2 -gt 0 ']'
+++ yf_substring fe 0 2
+++ in=fe
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf fe
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=fe
+++ yf_substring fe 2
+++ in=fe
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf fe
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ val=
++ out=254
++ '[' 0 -gt 0 ']'
++ printf %u 254
++ return 0
+ dec=254
+ printf %b '\0376'
+ '[' 0 -gt 0 ']'
+ '[' 0 -gt 0 ']'
+ return 0
+ return 0
+ ./nametable_to_tffs
+ ./environment_to_tffs /mnt/c/test/nametable
name table entry for '?HWRevision' not found, value ignored
+ ./counter_to_tffs
unknown name '?reboot_major' found in counter file
+ shift 3
+ exit 0

Hier mal der zusammenbau der Neue TFFS-image ist das am ende "?HWRevision" not found und "?reboot_major" normal?

Hier meine env.txt
HWRevision 213
HWSubRevision 4
ProductID Fritz_Box_HW213a
SerialNumber 0000000000000000
annex Kabel
autoload yes
bootloaderVersion 1.3272
bootserport tty0
cpufrequency 1200000000
firstfreeaddress 0x00b20000
firmware_info 141.06.85
firmware_version avm
flashsize nor_size=0MB sflash_size=2MB nand_size=2048MB
linux_fs_start 0
maca 44:XX:XX:XX:XX:E9
macb 44:XX:XX:XX:XX:EA
macwlan 44:XX:XX:XX:XX:EB
macwlan2 44:XX:XX:XX:XX:EC
macdsl 44:XX:XX:XX:XX:E6
memsize 0x10000000
modetty0 38400,n,8,1,hw
modetty1 38400,n,8,1,hw
modulemem 3882601
mtd0 0x0,0x4000000
mtd1 0x4000000,0x4800000
mtd2 0xa0000,0xc0000
mtd3 0xc0000,0x100000
mtd4 0x100000,0x140000
mtd5 0x140000,0x1e0000
mtd6 0x4800000,0x8800000
mtd7 0x8800000,0x9000000
mtd8 0x0,0x80000
mtd9 0x80000,0x90000
mtd10 0x90000,0xa0000
mtd11 0x9000000,0xd000000
mtd12 0xd000000,0xd800000
mtd13 0xd800000,0x11800000
mtd14 0x11800000,0x12000000
my_ipaddress 192.168.178.1
prompt Eva_AVM
req_fullrate_freq 100000000
sysfrequency 100000000
tr069_passphrase SECRET
tr069_serial 00040E-44XXXXXXXXE9
urlader-version 4272
usb_board_mac 44:XX:XX:XX:XX:E7
usb_device_id 0x0000
usb_device_name USB DSL Device
usb_manufacturer_name AVM
usb_revision_id 0x0000
usb_rndis_mac 44:XX:XX:XX:XX:E8
wlan_key SECRET
Hier die count.txt
reboot_major 0
reboot_minor 0
run_hours 0
run_days 0
run_mounths 0
run_years 0
Hier die nametable
510 @L
431 AutoMDIX
259 DMC
256 HWRevision
260 HWSubRevision
257 ProductID
258 SerialNumber
425 annex
385 autoload
512 bb0
513 bb1
514 bb2
515 bb3
516 bb4
517 bb5
518 bb6
519 bb7
520 bb8
521 bb9
386 bootloaderVersion
387 bootserport
428 bluetooth_key
388 bluetooth
424 country
389 cpufrequency
417 crash
390 firstfreeaddress
430 firmware_info
422 firmware_version
391 flashsize
441 jffs2_size
416 kernel_args
415 kernel_args1
423 language
408 linux_fs_start
392 maca
393 macb
394 macwlan
406 macwlan2
395 macdsl
396 memsize
397 modetty0
398 modetty1
452 modulemem
432 mtd0
433 mtd1
434 mtd2
435 mtd3
436 mtd4
437 mtd5
438 mtd6
439 mtd7
442 mtd8
443 mtd9
444 mtd10
445 mtd11
446 mtd12
447 mtd13
454 mtd14
455 mtd15
399 my_ipaddress
453 plc_dak_nmk
400 prompt
451 provider
426 ptest
401 reserved
402 req_fullrate_freq
403 sysfrequency
449 tr069_passphrase
448 tr069_serial
509 urlader-version
404 usb_board_mac
418 usb_device_id
420 usb_device_name
421 usb_manufacturer_name
419 usb_revision_id
405 usb_rndis_mac
450 webgui_pass
440 wlan_cal
427 wlan_key
456 wlan_ssid

Danach habe ich die mtd.img (aus /mnt/c/test/1/mtd.img) auf mtd3 und mtd4 geschrieben, quote REBOOT.
Alle LEDS kurz an=> Power LED leuchtet für 10 sek. danach blinkt sie=> Box Neustart(strom ab un dran)
Nach einander
=>ftp 192.168.178.1
=>adam2
=>adam2
=>quote MEDIA FLSH
=>bin
=>pas
=>put filesystem.image mtd0
=>put kernel.image mtd1
=>lcd x86
=>put filesystem.image mtd6
=>put kernel.image mtd7
=>quote REBOOT.(linux_fs_system 0 ganz am anfang schon eingestellt)

Leider immer noch kein erfolg.

Beim ersten Start hat WLAN LED ca.30 mal geblinkt danach machte es Neustart, beim zweiten Start wieder nur 15 mal blinken der WLAN LED danach Neustart usw.....

Wo liegt der Fehler?
 
Wenn ich raten soll, steht in den Dateien am Beginn jeweils eine UTF-BOM, weil das mit dem falschen Editor bearbeitet wurde. Es ist ja immer die erste Zeile, die angemault wird und ein solchermaßen erzeugtes TFFS-Image sollte man dann auch nicht in den Flash schreiben ... das ist ja schließlich nicht "normal", daß da so ein Fehler auftritt.

Insofern verstehe ich einfach nicht, warum Du dann doch weitermachst (oder ist das nur reine "Schmerzfreiheit", weil ohnehin schon jetzt nichts mehr funktioniert?) - daß eine Box ohne "HWRevision" Späne macht, wundert mich jedenfalls nicht wirklich; das Gegenteil hätte mich überrascht. An dieser HWRevision hängt u.a. auch die Auswahl der richtigen WLAN-Hardware ... und wenn Du nicht plötzlich etwas vollkommen anders gemacht hast, hat das mit dem BOM (oder meinetwegen auch "der BOM") - wenn meine Vermutung stimmt, was einem jeder Hex-Viewer sofort verrät - in den Eingabedateien ja bei den vorhergehenden Versuchen auch schon nicht funktioniert, das ist ja nicht davon abhängig, ob man da noch weitere Daten hinzufügt oder nicht.

Also bitte schön Schritt für Schritt arbeiten und wenn irgendwo ein Problem auftritt, dann erst einmal dessen Ursache und Auswirkungen ermitteln und nicht einfach blindlings weitermachen. Wenn das so einfach wäre, gäbe es auch das "Klammerskript", in dem die notwendigen Kommandos alle nacheinander aufgeführt sind und ohne jede Rücksicht auf vorhergehende Ergebnisse der Reihe nach abgearbeitet werden.

Bisher hast Du wohl noch nicht ein einziges Mal ein korrektes (und leeres) TFFS-Image geschrieben ... das lag an einer Stelle vielleicht auch an meinem Irrtum hinsichtlich "dissect_tffs_dump", aber in der überwiegenden Zahl der Versuche eben doch daran, daß Du etwas voreilig und ohne "Rückversicherung" oder gar eigene Tests auf Plausibilität der vorhergehenden Ergebnisse einfach weitermachst.
 
Insofern verstehe ich einfach nicht, warum Du dann doch weitermachst (oder ist das nur reine "Schmerzfreiheit", weil ohnehin schon jetzt nichts mehr funktioniert?)

Ehrlich gesagt Ja

Wenn ich raten soll, steht in den Dateien am Beginn jeweils eine UTF-BOM, weil das mit dem falschen Editor bearbeitet wurde

Ich benütze Notepad2 und ich habe grade nachgeschaut Encoding = ANSI, Line ending = Unix(LF). Alle scripte von dir sind so wenn ich sie mit der Notepad2 öffne. Ist das nicht richtig eingestellt?
 
Schau einfach mit einem Hex-Viewer in den Beginn der Datendateien(! - das sind also die "env.txt" und die "count.txt") ... die Skript-Datei hat damit nur wenig zu tun.

Die Datei muß direkt mit einem ASCII-Zeichen beginnen (also "H" wie "HWRevision" oder "r" wie "reboot_major") und mit nichts anderem - das sieht man aber eben nicht, wenn man die zeilenweise lesen läßt oder mit einem Editor öffnet - deshalb nimmt man da einen Hex-Viewer (z.B. "hexdump") oder läßt die Daten mit "cmp -l" gegen "/dev/zero" vergleichen, dann sieht man sie auch (allerdings in Oktaldarstellung). Wenn man Windows verwenden muß, sucht man sich einen Hex-Editor (z.B. das Hex-Plugin für Notepad++).

Wobei das auch nicht so ganz logisch wäre, denn irgendwo muß man die Skript-Dateien ja auch ausführen und das geht unter Windows eher schlecht, auch wenn ich anhand der Pfadnamen fast den Verdacht habe, daß Du da mit einer Cygwin-Umgebung arbeitest oder gar mit der W10-"bash" von Canonical. Dafür waren diese Skript-Dateien allerdings nie gedacht ... wenn die auch unter W10 funktionieren soll(t)en, schreibe ich das schon in der Regel dazu. Aber auch da kann man sich natürlich ein "hexdump" installieren, wenn das nicht von Beginn an dabei ist oder man sucht sich eine BusyBox mit passenden Applets oder oder oder ... es gibt so viele Möglichkeiten, aus denen man nur wählen muß.

Was eine "Byte Order Mark" ist und warum die manchmal in Dateien mit UTF-Zeichensatz am Beginn der Datei steht, findest Du im Internet.

Wenn es keine BOM sein sollte, passe ich meinerseits ... dann habe ich keine Idee, woher das zusätzliche Zeichen kommen soll, denn daß es vorhanden ist, sieht man in dem Protokoll des "build_tffs_image".

Den Aufruf mit "-x" braucht es auch nur sehr selten und wenn, dann solltest Du es mit "set -x" und "set +x" auf ausgewählte Bereiche in der Skript-Datei begrenzen, weil das Inkludieren der Bibliotheksfunktionen (yf_helper) nicht wirklich spannend ist und ich mir auch bei den Bibliotheksfunktionen selbst (das sind die Unterfunktionen, die mit "yf_" beginnen) einigermaßen sicher bin, daß sie korrekt arbeiten. Erst dann, wenn man ansonsten keine Idee mehr hat, wo im Skript ein Fehler steckt, muß man seine Zeit mit der "-x"-Option verschwenden.
 
O.K. ich habe die env.txt und count.txt nochmals neu gespeichert. Jetzt ist der Script durchgelaufen.

### Zusammenführung by stoney ###

ice@DESKTOP-PL65RLI:/mnt/c/test/Neu/tffs$ bash -x ./build_tffs_image /mnt/c/test/nametable /mnt/c/test/env.txt /mnt/c/test/count.txt>/mnt/c/test/mtd.img
+ . ./yf_helpers
+++ find ./functions/ -name '*.function'
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_base64.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_base64.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_base64_decode.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_base64_decode.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_bin2dec.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_bin2dec.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_bin2hex.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_bin2hex.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_bridge_interfaces.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_bridge_interfaces.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_count_of.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_count_of.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_dec2hex.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_dec2hex.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_endianess.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_endianess.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_endianess_by_routing_table.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_endianess_by_routing_table.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_find_mountpoint.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_find_mountpoint.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_fritzos_model_settings.function = yf_fritzos_model_settings.function ']'
++ continue
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_fritzos_partition_device_name.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_fritzos_partition_device_name.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_from_right.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_from_right.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_bridge.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_bridge.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_bridge_members.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_bridge_members.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_default_gateway_address.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_default_gateway_address.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_default_gateway_interface.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_default_gateway_interface.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_first_host_in_subnet.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_first_host_in_subnet.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_fritzos_partition_by_name.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_fritzos_partition_by_name.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_fritzos_partition_by_number.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_fritzos_partition_by_number.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_fstype_for_mountpoint.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_fstype_for_mountpoint.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_ip_address.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_ip_address.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_get_last_host_in_subnet.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_get_last_host_in_subnet.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_hex2bin.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_hex2bin.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_hex2dec.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_hex2dec.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_index_of.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_index_of.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_initialize_ringbuffer.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_initialize_ringbuffer.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_ipv4_address.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_ipv4_address.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_is_bridge_interface.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_is_bridge_interface.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_is_bridge_member.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_is_bridge_member.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_is_decimal.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_is_decimal.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_is_fritzos_device.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_is_fritzos_device.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_is_hexadecimal.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_is_hexadecimal.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_is_mountpoint_writable.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_is_mountpoint_writable.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_is_wireless_interface.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_is_wireless_interface.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_lowercase.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_lowercase.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_mktemp.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_mktemp.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_network_interfaces.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_network_interfaces.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_pack.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_pack.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_print_ip.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_print_ip.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_readable_size.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_readable_size.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_reverse_hex.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_reverse_hex.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_storage_devices.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_storage_devices.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_str2hex.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_str2hex.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_substring.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_substring.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_sysfs.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_sysfs.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_trim.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_trim.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_uppercase.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_uppercase.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_wireless_interfaces.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_wireless_interfaces.function
++ for function in '$(find ${YF_SCRIPT_DIR:-.}/functions/ -name "*.function")'
++ '[' yf_word_of.function = yf_fritzos_model_settings.function ']'
++ . ./functions/yf_word_of.function
++ yf_is_fritzos_device
++ '[' -d /proc/sys/urlader ']'
++ return 1
+ yf_pack B16 1 B16 4 8 255 8 255 8 255 8 254
+ out=
+ '[' 3 -gt 0 ']'
+ type=B16
+ val=1
+ shift 2
++ yf_substring B16 0 1
++ yf_uppercase
++ in=B16
++ start=0
++ len=1
++ '[' 3 -eq 0 ']'
++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
++ '[' -z 0 ']'
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 3 -lt 0 ']'
++ '[' -n 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ '[' 1 -gt 3 ']'
++ len='\{1\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{1\}\).*|\1|p'
++ printf B16
++ sed -n -e 's|^\(.\{1\}\).*|\1|p'
++ return 0
++ return 0
+ endian=B
+ '[' B = B -o B = L ']'
++ yf_substring B16 1
++ in=B16
++ start=1
++ len=
++ '[' 3 -eq 0 ']'
++ '[' -z 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 3 -lt 1 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=2
++ len='\{2\}'
++ '[' 1 -gt 0 ']'
++ mask='s|^.\{1\}\(.\{2\}\).*|\1|p'
++ printf B16
++ sed -n -e 's|^.\{1\}\(.\{2\}\).*|\1|p'
++ return 0
+ type=16
+ case $type in
++ yf_dec2hex 1 2
++ val=1
++ len=2
++ mask=%x
++ '[' 1 -eq 0 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ len=4
++ mask=%04x
++ printf %04x 1
++ return 0
+ hex=0001
+ '[' 0 -ne 0 ']'
+ '[' '!' -z B ']'
+ '[' B == L ']'
+ out=0001
+ '[' 3 -gt 0 ']'
+ type=B16
+ val=4
+ shift 2
++ yf_substring B16 0 1
++ yf_uppercase
++ in=B16
++ start=0
++ len=1
++ '[' 3 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 3 -lt 0 ']'
++ '[' -n 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ '[' 1 -gt 3 ']'
++ len='\{1\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{1\}\).*|\1|p'
++ printf B16
++ sed -n -e 's|^\(.\{1\}\).*|\1|p'
++ return 0
++ return 0
+ endian=B
+ '[' B = B -o B = L ']'
++ yf_substring B16 1
++ in=B16
++ start=1
++ len=
++ '[' 3 -eq 0 ']'
++ '[' -z 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 3 -lt 1 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=2
++ len='\{2\}'
++ '[' 1 -gt 0 ']'
++ mask='s|^.\{1\}\(.\{2\}\).*|\1|p'
++ printf B16
++ sed -n -e 's|^.\{1\}\(.\{2\}\).*|\1|p'
++ return 0
+ type=16
+ case $type in
++ yf_dec2hex 4 2
++ val=4
++ len=2
++ mask=%x
++ '[' 1 -eq 0 ']'
++ yf_is_decimal 4
+++ printf 4
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ len=4
++ mask=%04x
++ printf %04x 4
++ return 0
+ hex=0004
+ '[' 0 -ne 0 ']'
+ '[' '!' -z B ']'
+ '[' B == L ']'
+ out=00010004
+ '[' 1 -gt 0 ']'
+ type=8
+ val=255
+ shift 2
++ yf_substring 8 0 1
++ yf_uppercase
++ in=8
++ start=0
++ len=1
++ '[' 1 -eq 0 ']'
++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
++ '[' -z 0 ']'
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 1 -lt 0 ']'
++ '[' -n 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ '[' 1 -gt 1 ']'
++ len='\{1\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{1\}\).*|\1|p'
++ printf 8
++ sed -n -e 's|^\(.\{1\}\).*|\1|p'
++ return 0
++ return 0
+ endian=8
+ '[' 8 = B -o 8 = L ']'
+ unset endian
+ case $type in
++ yf_dec2hex 255 1
++ val=255
++ len=1
++ mask=%x
++ '[' 3 -eq 0 ']'
++ yf_is_decimal 255
+++ printf 255
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ len=2
++ mask=%02x
++ printf %02x 255
++ return 0
+ hex=ff
+ '[' 0 -ne 0 ']'
+ '[' '!' -z ']'
++ yf_endianess
+++ dd if=/proc/self/exe bs=1 count=1 skip=5
+++ yf_base64
+++ '[' -t 0 ']'
+++ command -v base64
+++ command base64
+++ base64
+++ rc=0
+++ return 0
++ '[' AQ== = AQ== ']'
++ printf L
++ return 0
+ '[' L == L ']'
++ yf_reverse_hex ff
++ in=ff
++ out=
++ '[' 2 -gt 0 ']'
+++ yf_substring ff 0 2
+++ in=ff
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=ff
+++ yf_substring ff 2
+++ in=ff
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ in=
++ out=ff
++ '[' 0 -gt 0 ']'
++ printf ff
++ return 0
+ hex=ff
+ out=00010004ff
+ '[' 1 -gt 0 ']'
+ type=8
+ val=255
+ shift 2
++ yf_substring 8 0 1
++ yf_uppercase
++ in=8
++ start=0
++ len=1
++ '[' 1 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 1 -lt 0 ']'
++ '[' -n 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ '[' 1 -gt 1 ']'
++ len='\{1\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{1\}\).*|\1|p'
++ printf 8
++ sed -n -e 's|^\(.\{1\}\).*|\1|p'
++ return 0
++ return 0
+ endian=8
+ '[' 8 = B -o 8 = L ']'
+ unset endian
+ case $type in
++ yf_dec2hex 255 1
++ val=255
++ len=1
++ mask=%x
++ '[' 3 -eq 0 ']'
++ yf_is_decimal 255
+++ printf 255
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ len=2
++ mask=%02x
++ printf %02x 255
++ return 0
+ hex=ff
+ '[' 0 -ne 0 ']'
+ '[' '!' -z ']'
++ yf_endianess
+++ dd if=/proc/self/exe bs=1 count=1 skip=5
+++ yf_base64
+++ '[' -t 0 ']'
+++ command -v base64
+++ command base64
+++ base64
+++ rc=0
+++ return 0
++ '[' AQ== = AQ== ']'
++ printf L
++ return 0
+ '[' L == L ']'
++ yf_reverse_hex ff
++ in=ff
++ out=
++ '[' 2 -gt 0 ']'
+++ yf_substring ff 0 2
+++ in=ff
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=ff
+++ yf_substring ff 2
+++ in=ff
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ in=
++ out=ff
++ '[' 0 -gt 0 ']'
++ printf ff
++ return 0
+ hex=ff
+ out=00010004ffff
+ '[' 1 -gt 0 ']'
+ type=8
+ val=255
+ shift 2
++ yf_substring 8 0 1
++ yf_uppercase
++ in=8
++ start=0
++ len=1
++ '[' 1 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 1 -lt 0 ']'
++ '[' -n 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ '[' 1 -gt 1 ']'
++ len='\{1\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{1\}\).*|\1|p'
++ printf 8
++ sed -n -e 's|^\(.\{1\}\).*|\1|p'
++ return 0
++ return 0
+ endian=8
+ '[' 8 = B -o 8 = L ']'
+ unset endian
+ case $type in
++ yf_dec2hex 255 1
++ val=255
++ len=1
++ mask=%x
++ '[' 3 -eq 0 ']'
++ yf_is_decimal 255
+++ printf 255
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ len=2
++ mask=%02x
++ printf %02x 255
++ return 0
+ hex=ff
+ '[' 0 -ne 0 ']'
+ '[' '!' -z ']'
++ yf_endianess
+++ dd if=/proc/self/exe bs=1 count=1 skip=5
+++ yf_base64
+++ '[' -t 0 ']'
+++ command -v base64
+++ command base64
+++ base64
+++ rc=0
+++ return 0
++ '[' AQ== = AQ== ']'
++ printf L
++ return 0
+ '[' L == L ']'
++ yf_reverse_hex ff
++ in=ff
++ out=
++ '[' 2 -gt 0 ']'
+++ yf_substring ff 0 2
+++ in=ff
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=ff
+++ yf_substring ff 2
+++ in=ff
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ in=
++ out=ff
++ '[' 0 -gt 0 ']'
++ printf ff
++ return 0
+ hex=ff
+ out=00010004ffffff
+ '[' 1 -gt 0 ']'
+ type=8
+ val=254
+ shift 2
++ yf_substring 8 0 1
++ yf_uppercase
++ in=8
++ start=0
++ len=1
++ '[' 1 -eq 0 ']'
++ '[' -z 0 ']'
++ tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 1 -lt 0 ']'
++ '[' -n 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ '[' 1 -gt 1 ']'
++ len='\{1\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{1\}\).*|\1|p'
++ printf 8
++ sed -n -e 's|^\(.\{1\}\).*|\1|p'
++ return 0
++ return 0
+ endian=8
+ '[' 8 = B -o 8 = L ']'
+ unset endian
+ case $type in
++ yf_dec2hex 254 1
++ val=254
++ len=1
++ mask=%x
++ '[' 3 -eq 0 ']'
++ yf_is_decimal 254
+++ printf 254
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 1 ']'
++ yf_is_decimal 1
+++ printf 1
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ len=2
++ mask=%02x
++ printf %02x 254
++ return 0
+ hex=fe
+ '[' 0 -ne 0 ']'
+ '[' '!' -z ']'
++ yf_endianess
+++ dd if=/proc/self/exe bs=1 count=1 skip=5
+++ yf_base64
+++ '[' -t 0 ']'
+++ command -v base64
+++ command base64
+++ base64
+++ rc=0
+++ return 0
++ '[' AQ== = AQ== ']'
++ printf L
++ return 0
+ '[' L == L ']'
++ yf_reverse_hex fe
++ in=fe
++ out=
++ '[' 2 -gt 0 ']'
+++ yf_substring fe 0 2
+++ in=fe
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf fe
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=fe
+++ yf_substring fe 2
+++ in=fe
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf fe
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ in=
++ out=fe
++ '[' 0 -gt 0 ']'
++ printf fe
++ return 0
+ hex=fe
+ out=00010004fffffffe
+ '[' 0 -gt 0 ']'
+ yf_hex2bin 00010004fffffffe
+ val=00010004fffffffe
+ zeroes=0
+ yf_is_hexadecimal 00010004fffffffe
++ printf 00010004fffffffe
++ sed -e 's|[0-9a-fA-F]||g'
+ in=
+ '[' 0 -gt 0 ']'
+ return 0
+ '[' 0 -ne 0 ']'
+ '[' 16 -gt 0 ']'
++ yf_substring 00010004fffffffe 0 2
++ in=00010004fffffffe
++ start=0
++ len=2
++ '[' 16 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 16 -lt 0 ']'
++ '[' -n 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ '[' 2 -gt 16 ']'
++ len='\{2\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{2\}\).*|\1|p'
++ printf 00010004fffffffe
++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
++ return 0
+ dec=00
++ yf_substring 00010004fffffffe 2
++ in=00010004fffffffe
++ start=2
++ len=
++ '[' 16 -eq 0 ']'
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 16 -lt 2 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=14
++ len='\{14\}'
++ '[' 2 -gt 0 ']'
++ mask='s|^.\{2\}\(.\{14\}\).*|\1|p'
++ printf 00010004fffffffe
++ sed -n -e 's|^.\{2\}\(.\{14\}\).*|\1|p'
++ return 0
+ val=010004fffffffe
+ '[' 00 = 00 ']'
+ zeroes=1
+ continue
+ '[' 14 -gt 0 ']'
++ yf_substring 010004fffffffe 0 2
++ in=010004fffffffe
++ start=0
++ len=2
++ '[' 14 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 14 -lt 0 ']'
++ '[' -n 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ '[' 2 -gt 14 ']'
++ len='\{2\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{2\}\).*|\1|p'
++ printf 010004fffffffe
++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
++ return 0
+ dec=01
++ yf_substring 010004fffffffe 2
++ in=010004fffffffe
++ start=2
++ len=
++ '[' 14 -eq 0 ']'
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 14 -lt 2 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=12
++ len='\{12\}'
++ '[' 2 -gt 0 ']'
++ mask='s|^.\{2\}\(.\{12\}\).*|\1|p'
++ printf 010004fffffffe
++ sed -n -e 's|^.\{2\}\(.\{12\}\).*|\1|p'
++ return 0
+ val=0004fffffffe
+ '[' 01 = 00 ']'
+ '[' 1 -gt 0 ']'
+ dd if=/dev/zero bs=1 count=1
+ zeroes=0
++ yf_hex2dec 01
++ val=01
++ out=0
++ yf_is_hexadecimal 01
+++ printf 01
+++ sed -e 's|[0-9a-fA-F]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 0 -ne 0 ']'
++ '[' 2 -gt 0 ']'
+++ yf_substring 01 0 2
+++ in=01
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf 01
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=01
+++ yf_substring 01 2
+++ in=01
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf 01
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ val=
++ out=1
++ '[' 0 -gt 0 ']'
++ printf %u 1
++ return 0
+ dec=1
+ printf %b '\0001'
+ '[' 12 -gt 0 ']'
++ yf_substring 0004fffffffe 0 2
++ in=0004fffffffe
++ start=0
++ len=2
++ '[' 12 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 12 -lt 0 ']'
++ '[' -n 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ '[' 2 -gt 12 ']'
++ len='\{2\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{2\}\).*|\1|p'
++ printf 0004fffffffe
++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
++ return 0
+ dec=00
++ yf_substring 0004fffffffe 2
++ in=0004fffffffe
++ start=2
++ len=
++ '[' 12 -eq 0 ']'
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 12 -lt 2 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=10
++ len='\{10\}'
++ '[' 2 -gt 0 ']'
++ mask='s|^.\{2\}\(.\{10\}\).*|\1|p'
++ printf 0004fffffffe
++ sed -n -e 's|^.\{2\}\(.\{10\}\).*|\1|p'
++ return 0
+ val=04fffffffe
+ '[' 00 = 00 ']'
+ zeroes=1
+ continue
+ '[' 10 -gt 0 ']'
++ yf_substring 04fffffffe 0 2
++ in=04fffffffe
++ start=0
++ len=2
++ '[' 10 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 10 -lt 0 ']'
++ '[' -n 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ '[' 2 -gt 10 ']'
++ len='\{2\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{2\}\).*|\1|p'
++ printf 04fffffffe
++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
++ return 0
+ dec=04
++ yf_substring 04fffffffe 2
++ in=04fffffffe
++ start=2
++ len=
++ '[' 10 -eq 0 ']'
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 10 -lt 2 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=8
++ len='\{8\}'
++ '[' 2 -gt 0 ']'
++ mask='s|^.\{2\}\(.\{8\}\).*|\1|p'
++ printf 04fffffffe
++ sed -n -e 's|^.\{2\}\(.\{8\}\).*|\1|p'
++ return 0
+ val=fffffffe
+ '[' 04 = 00 ']'
+ '[' 1 -gt 0 ']'
+ dd if=/dev/zero bs=1 count=1
+ zeroes=0
++ yf_hex2dec 04
++ val=04
++ out=0
++ yf_is_hexadecimal 04
+++ printf 04
+++ sed -e 's|[0-9a-fA-F]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 0 -ne 0 ']'
++ '[' 2 -gt 0 ']'
+++ yf_substring 04 0 2
+++ in=04
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf 04
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=04
+++ yf_substring 04 2
+++ in=04
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf 04
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ val=
++ out=4
++ '[' 0 -gt 0 ']'
++ printf %u 4
++ return 0
+ dec=4
+ printf %b '\0004'
+ '[' 8 -gt 0 ']'
++ yf_substring fffffffe 0 2
++ in=fffffffe
++ start=0
++ len=2
++ '[' 8 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 8 -lt 0 ']'
++ '[' -n 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ '[' 2 -gt 8 ']'
++ len='\{2\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{2\}\).*|\1|p'
++ printf fffffffe
++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
++ return 0
+ dec=ff
++ yf_substring fffffffe 2
++ in=fffffffe
++ start=2
++ len=
++ '[' 8 -eq 0 ']'
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 8 -lt 2 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=6
++ len='\{6\}'
++ '[' 2 -gt 0 ']'
++ mask='s|^.\{2\}\(.\{6\}\).*|\1|p'
++ printf fffffffe
++ sed -n -e 's|^.\{2\}\(.\{6\}\).*|\1|p'
++ return 0
+ val=fffffe
+ '[' ff = 00 ']'
+ '[' 0 -gt 0 ']'
++ yf_hex2dec ff
++ val=ff
++ out=0
++ yf_is_hexadecimal ff
+++ printf ff
+++ sed -e 's|[0-9a-fA-F]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 0 -ne 0 ']'
++ '[' 2 -gt 0 ']'
+++ yf_substring ff 0 2
+++ in=ff
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=ff
+++ yf_substring ff 2
+++ in=ff
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ val=
++ out=255
++ '[' 0 -gt 0 ']'
++ printf %u 255
++ return 0
+ dec=255
+ printf %b '\0377'
+ '[' 6 -gt 0 ']'
++ yf_substring fffffe 0 2
++ in=fffffe
++ start=0
++ len=2
++ '[' 6 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 6 -lt 0 ']'
++ '[' -n 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ '[' 2 -gt 6 ']'
++ len='\{2\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{2\}\).*|\1|p'
++ printf fffffe
++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
++ return 0
+ dec=ff
++ yf_substring fffffe 2
++ in=fffffe
++ start=2
++ len=
++ '[' 6 -eq 0 ']'
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 6 -lt 2 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=4
++ len='\{4\}'
++ '[' 2 -gt 0 ']'
++ mask='s|^.\{2\}\(.\{4\}\).*|\1|p'
++ printf fffffe
++ sed -n -e 's|^.\{2\}\(.\{4\}\).*|\1|p'
++ return 0
+ val=fffe
+ '[' ff = 00 ']'
+ '[' 0 -gt 0 ']'
++ yf_hex2dec ff
++ val=ff
++ out=0
++ yf_is_hexadecimal ff
+++ printf ff
+++ sed -e 's|[0-9a-fA-F]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 0 -ne 0 ']'
++ '[' 2 -gt 0 ']'
+++ yf_substring ff 0 2
+++ in=ff
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=ff
+++ yf_substring ff 2
+++ in=ff
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ val=
++ out=255
++ '[' 0 -gt 0 ']'
++ printf %u 255
++ return 0
+ dec=255
+ printf %b '\0377'
+ '[' 4 -gt 0 ']'
++ yf_substring fffe 0 2
++ in=fffe
++ start=0
++ len=2
++ '[' 4 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 4 -lt 0 ']'
++ '[' -n 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ '[' 2 -gt 4 ']'
++ len='\{2\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{2\}\).*|\1|p'
++ printf fffe
++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
++ return 0
+ dec=ff
++ yf_substring fffe 2
++ in=fffe
++ start=2
++ len=
++ '[' 4 -eq 0 ']'
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 4 -lt 2 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=2
++ len='\{2\}'
++ '[' 2 -gt 0 ']'
++ mask='s|^.\{2\}\(.\{2\}\).*|\1|p'
++ printf fffe
++ sed -n -e 's|^.\{2\}\(.\{2\}\).*|\1|p'
++ return 0
+ val=fe
+ '[' ff = 00 ']'
+ '[' 0 -gt 0 ']'
++ yf_hex2dec ff
++ val=ff
++ out=0
++ yf_is_hexadecimal ff
+++ printf ff
+++ sed -e 's|[0-9a-fA-F]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 0 -ne 0 ']'
++ '[' 2 -gt 0 ']'
+++ yf_substring ff 0 2
+++ in=ff
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=ff
+++ yf_substring ff 2
+++ in=ff
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf ff
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ val=
++ out=255
++ '[' 0 -gt 0 ']'
++ printf %u 255
++ return 0
+ dec=255
+ printf %b '\0377'
+ '[' 2 -gt 0 ']'
++ yf_substring fe 0 2
++ in=fe
++ start=0
++ len=2
++ '[' 2 -eq 0 ']'
++ '[' -z 0 ']'
++ yf_is_decimal 0
+++ printf 0
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 2 -lt 0 ']'
++ '[' -n 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z 2 ']'
++ '[' 2 -gt 2 ']'
++ len='\{2\}'
++ '[' 0 -gt 0 ']'
++ mask='s|^\(.\{2\}\).*|\1|p'
++ printf fe
++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
++ return 0
+ dec=fe
++ yf_substring fe 2
++ in=fe
++ start=2
++ len=
++ '[' 2 -eq 0 ']'
++ '[' -z 2 ']'
++ yf_is_decimal 2
+++ printf 2
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 2 -lt 2 ']'
++ '[' -n ']'
++ yf_is_decimal
+++ printf ''
+++ sed -e 's|[0-9]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' -z ']'
++ len=0
++ len='\{0\}'
++ '[' 2 -gt 0 ']'
++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
++ printf fe
++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
++ return 0
+ val=
+ '[' fe = 00 ']'
+ '[' 0 -gt 0 ']'
++ yf_hex2dec fe
++ val=fe
++ out=0
++ yf_is_hexadecimal fe
+++ printf fe
+++ sed -e 's|[0-9a-fA-F]||g'
++ in=
++ '[' 0 -gt 0 ']'
++ return 0
++ '[' 0 -ne 0 ']'
++ '[' 2 -gt 0 ']'
+++ yf_substring fe 0 2
+++ in=fe
+++ start=0
+++ len=2
+++ '[' 2 -eq 0 ']'
+++ '[' -z 0 ']'
+++ yf_is_decimal 0
++++ printf 0
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 0 ']'
+++ '[' -n 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z 2 ']'
+++ '[' 2 -gt 2 ']'
+++ len='\{2\}'
+++ '[' 0 -gt 0 ']'
+++ mask='s|^\(.\{2\}\).*|\1|p'
+++ printf fe
+++ sed -n -e 's|^\(.\{2\}\).*|\1|p'
+++ return 0
++ byte=fe
+++ yf_substring fe 2
+++ in=fe
+++ start=2
+++ len=
+++ '[' 2 -eq 0 ']'
+++ '[' -z 2 ']'
+++ yf_is_decimal 2
++++ printf 2
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' 2 -lt 2 ']'
+++ '[' -n ']'
+++ yf_is_decimal
++++ printf ''
++++ sed -e 's|[0-9]||g'
+++ in=
+++ '[' 0 -gt 0 ']'
+++ return 0
+++ '[' -z ']'
+++ len=0
+++ len='\{0\}'
+++ '[' 2 -gt 0 ']'
+++ mask='s|^.\{2\}\(.\{0\}\).*|\1|p'
+++ printf fe
+++ sed -n -e 's|^.\{2\}\(.\{0\}\).*|\1|p'
+++ return 0
++ val=
++ out=254
++ '[' 0 -gt 0 ']'
++ printf %u 254
++ return 0
+ dec=254
+ printf %b '\0376'
+ '[' 0 -gt 0 ']'
+ '[' 0 -gt 0 ']'
+ return 0
+ return 0
+ ./nametable_to_tffs
+ ./environment_to_tffs /mnt/c/test/nametable
+ ./counter_to_tffs
+ shift 3
+ exit 0
ice@DESKTOP-PL65RLI:/mnt/c/test/Neu/tffs$

Habe danach jetzt weiter gemacht mit "./eva_store_tffs mtd3 /mnt/c/test/mtd.img" und "./eva_store_tffs mtd4 /mnt/c/test/mtd.img"
ice@DESKTOP-PL65RLI:/mnt/c/test/Neu/eva_tools$ bash -x ./eva_store_tffs mtd3 /mnt/c/test/mtd.img
+ mtdname=mtd3
+ filename=/mnt/c/test/mtd.img
+ box_ip=192.168.178.1
+ box_port=21
+ box_user=adam2
+ box_pass=adam2
+ passive_ftp=P@SW
+ '[' 0 -eq 0 ']'
+ TMP=/tmp
++ date +%s
+ tmpdir=/tmp/tmp_1518733171_1085
+ writefifo=/tmp/tmp_1518733171_1085/write
+ readfifo=/tmp/tmp_1518733171_1085/read
+ storefifo=/tmp/tmp_1518733171_1085/store
+ outstream=7
+ instream=8
+ upstream=9
+ logstream=3
+ logfile=./eva_store_tffs.log
+ '[' x/mnt/c/test/mtd.img == x ']'
++ stat -c %s /mnt/c/test/mtd.img
+ filesize=2256
+ '[' 0 -ne 0 ']'
+ mkfifo
+ '[' 1 -eq 127 ']'
+ nc
+ '[' 1 -eq 127 ']'
+ mkdir -p /tmp/tmp_1518733171_1085
+ mkfifo /tmp/tmp_1518733171_1085/write
+ rc=0
+ '[' 0 -ne 0 ']'
+ mkfifo /tmp/tmp_1518733171_1085/read
+ rc=0
+ '[' 0 -ne 0 ']'
+ mkfifo /tmp/tmp_1518733171_1085/store
+ rc=0
+ '[' 0 -ne 0 ']'
+ eval 'exec 7<>/tmp/tmp_1518733171_1085/write'
++ exec
+ rc=0
+ '[' 0 -ne 0 ']'
+ eval 'exec 8<>/tmp/tmp_1518733171_1085/read'
++ exec
+ rc=0
+ '[' 0 -ne 0 ']'
+ eval 'exec 3<>./eva_store_tffs.log'
++ exec
+ rc=0
+ '[' 0 -ne 0 ']'
+ control_connection=1094
+ data_connection=
+ nc 192.168.178.1 21
++ read_ftp_response 8 3
++ local 'line= -' rc=0 instream=8 log=3
++ read -u 8 -r line
++ '[' '!' -z 3 ']'
'+ echo '220 ADAM2 FTP Server ready
++ '[' ' ' '!=' - ']'
++ break
++ rc=0
'+ echo '220 ADAM2 FTP Server ready
++ return 0
' line='220 ADAM2 FTP Server ready
+ ec=220
+ '[' x220 == x220 ']'
+ login_to_box 8 7 3
+ local instream=8 outstream=7 log=3 lines=0
+ write_ftp_command 'USER adam2' 7 3
+ local outstream=7 'cmd=USER adam2' log=3
+ '[' '!' -z 3 ']'
+ echo 'USER adam2'
+ echo 'USER adam2'
+ '[' 0 -lt 10 ']'
++ read_ftp_response 8 3
++ local 'line= -' rc=0 instream=8 log=3
++ read -u 8 -r line
++ '[' '!' -z 3 ']'
'+ echo '331 Password required for adam2
++ '[' ' ' '!=' - ']'
++ break
++ rc=0
'+ echo '331 Password required for adam2
++ return 0
' line='331 Password required for adam2
+ ec=331
+ '[' x331 == x331 ']'
+ write_ftp_command 'PASS adam2' 7 3
+ local outstream=7 'cmd=PASS adam2' log=3
+ '[' '!' -z 3 ']'
+ echo 'PASS adam2'
+ echo 'PASS adam2'
+ lines=0
+ '[' 0 -lt 10 ']'
++ read_ftp_response 8 3
++ local 'line= -' rc=0 instream=8 log=3
++ read -u 8 -r line
++ '[' '!' -z 3 ']'
'+ echo '230 User adam2 successfully logged in
++ '[' ' ' '!=' - ']'
++ break
++ rc=0
'+ echo '230 User adam2 successfully logged in
++ return 0
' line='230 User adam2 successfully logged in
+ ec=230
+ '[' x230 == x331 ']'
+ '[' x230 == x230 ']'
+ return 0
+ '[' 0 -eq 0 ']'
+ write_ftp_command SYST 7 3
+ local outstream=7 cmd=SYST log=3
+ '[' '!' -z 3 ']'
+ echo SYST
+ echo SYST
++ read_ftp_response 8 3
++ local 'line= -' rc=0 instream=8 log=3
++ read -u 8 -r line
++ '[' '!' -z 3 ']'
'+ echo '215 AVM EVA Version 1.3272 0x0 0x36409
++ '[' ' ' '!=' - ']'
++ break
++ rc=0
'+ echo '215 AVM EVA Version 1.3272 0x0 0x36409
++ return 0
' line='215 AVM EVA Version 1.3272 0x0 0x36409
+ ec=215
+ '[' x215 == x215 ']'
'+ echo '215 AVM EVA Version 1.3272 0x0 0x36409
++ sed -n -e 's/.*\(AVM EVA\).*/\1/p'
+ syst='AVM EVA'
+ '[' 7 -ne 0 ']'
' echo 'Found AVM bootloader: AVM EVA Version 1.3272 0x0 0x36409
Found AVM bootloader: AVM EVA Version 1.3272 0x0 0x36409
+ upload_image 8 7 3 mtd3 /mnt/c/test/mtd.img
+ local instream=8 outstream=7 log=3 mtd=mtd3 file=/mnt/c/test/mtd.img
+ eval 'exec 9<>/tmp/tmp_1518733171_1085/store'
++ exec
+ '[' 0 -ne 0 ']'
+ write_ftp_command 'TYPE I' 7 3
+ local outstream=7 'cmd=TYPE I' log=3
+ '[' '!' -z 3 ']'
+ echo 'TYPE I'
+ echo 'TYPE I'
++ read_ftp_response 8 3
++ local 'line= -' rc=0 instream=8 log=3
++ read -u 8 -r line
++ '[' '!' -z 3 ']'
'+ echo '200 Type set to BINARY
++ '[' ' ' '!=' - ']'
++ break
++ rc=0
'+ echo '200 Type set to BINARY
++ return 0
' line='200 Type set to BINARY
+ ec=200
+ '[' x200 '!=' x200 ']'
+ write_ftp_command 'MEDIA FLSH' 7 3
+ local outstream=7 'cmd=MEDIA FLSH' log=3
+ '[' '!' -z 3 ']'
+ echo 'MEDIA FLSH'
+ echo 'MEDIA FLSH'
++ read_ftp_response 8 3
++ local 'line= -' rc=0 instream=8 log=3
++ read -u 8 -r line
++ '[' '!' -z 3 ']'
'+ echo '200 Media set to MEDIA_FLASH
++ '[' ' ' '!=' - ']'
++ break
++ rc=0
'+ echo '200 Media set to MEDIA_FLASH
++ return 0
' line='200 Media set to MEDIA_FLASH
+ ec=200
+ '[' x200 '!=' x200 ']'
+ write_ftp_command P@SW 7 3
+ local outstream=7 cmd=P@SW log=3
+ '[' '!' -z 3 ']'
+ echo P@SW
+ echo P@SW
++ read_ftp_response 8 3
++ local 'line= -' rc=0 instream=8 log=3
++ read -u 8 -r line
++ '[' '!' -z 3 ']'
'+ echo '227 Entering Passive Mode (192,168,178,1,54,69)
++ '[' ' ' '!=' - ']'
++ break
++ rc=0
'+ echo '227 Entering Passive Mode (192,168,178,1,54,69)
++ return 0
' line='227 Entering Passive Mode (192,168,178,1,54,69)
+ ec=227
+ '[' x227 == x227 ']'
'+ echo 227 Entering Passive Mode '(192,168,178,1,54,69)
++ sed -n -e 's/.*(\([0-9]*\),\([0-9]*\),\([0-9]*\),\([0-9]*\),\([0-9]*\),\([0-9]*\)).*/data_ip=\1.\2.\3.\4 data_port=\$(( \5 * 256 + \6 ))/p'
+ data_conn='data_ip=192.168.178.1 data_port=$(( 54 * 256 + 69 ))'
+ '[' 52 -eq 0 ']'
+ eval 'data_ip=192.168.178.1 data_port=$(( 54 * 256 + 69 ))'
++ data_ip=192.168.178.1
++ data_port=13893
+ data_connection=1108
+ sleep 1
+ nc -w 60 192.168.178.1 13893
+ write_ftp_command 'STOR mtd3' 7 3
+ local outstream=7 'cmd=STOR mtd3' log=3
+ '[' '!' -z 3 ']'
+ echo 'STOR mtd3'
+ echo 'STOR mtd3'
++ read_ftp_response 8 3
++ local 'line= -' rc=0 instream=8 log=3
++ read -u 8 -r line
++ '[' '!' -z 3 ']'
'+ echo '150 Opening BINARY data connection
++ '[' ' ' '!=' - ']'
++ break
++ rc=0
'+ echo '150 Opening BINARY data connection
++ return 0
' line='150 Opening BINARY data connection
+ ec=150
+ '[' x150 == x150 ']'
+ cat /mnt/c/test/mtd.img
++ read_ftp_response 8 3
++ local 'line= -' rc=0 instream=8 log=3
++ read -u 8 -r line
++ '[' '!' -z 3 ']'
'+ echo '226 Transfer complete
++ '[' ' ' '!=' - ']'
++ break
++ rc=0
'+ echo '226 Transfer complete
++ return 0
' line='226 Transfer complete
+ ec=226
+ '[' x226 == x226 ']'
+ '[' -d /proc/1108 ']'
+ data_connection=
+ eval 'exec 9>&-'
++ exec
+ rm /tmp/tmp_1518733171_1085/store
+ return 0
+ '[' 0 -eq 0 ']'
+ echo 'Image uploaded to device.'
Image uploaded to device.
+ '[' 0 -ne 0 ']'
+ '[' 4 -ne 0 ']'
+ '[' -d /proc/1094 ']'
+ wait 1094
+ kill 1094
+ eval 'exec 3>&-'
++ exec
+ eval 'exec 8>&-'
++ exec
+ eval 'exec 7>&-'
++ exec
+ rm /tmp/tmp_1518733171_1085/write
+ rm /tmp/tmp_1518733171_1085/read
+ rm -r /tmp/tmp_1518733171_1085
+ exit 1
ice@DESKTOP-PL65RLI:/mnt/c/test/Neu/eva_tools$
ice@DESKTOP-PL65RLI:/mnt/c/test/Neu/eva_tools$ bash -x ./eva_store_tffs mtd4 /mnt/c/test/mtd.img
+ mtdname=mtd4
+ filename=/mnt/c/test/mtd.img
+ box_ip=192.168.178.1
+ box_port=21
+ box_user=adam2
+ box_pass=adam2
+ passive_ftp=P@SW
+ '[' 0 -eq 0 ']'
+ TMP=/tmp
++ date +%s
+ tmpdir=/tmp/tmp_1518733358_1118
+ writefifo=/tmp/tmp_1518733358_1118/write
+ readfifo=/tmp/tmp_1518733358_1118/read
+ storefifo=/tmp/tmp_1518733358_1118/store
+ outstream=7
+ instream=8
+ upstream=9
+ logstream=3
+ logfile=./eva_store_tffs.log
+ '[' x/mnt/c/test/mtd.img == x ']'
++ stat -c %s /mnt/c/test/mtd.img
+ filesize=2256
+ '[' 0 -ne 0 ']'
+ mkfifo
+ '[' 1 -eq 127 ']'
+ nc
+ '[' 1 -eq 127 ']'
+ mkdir -p /tmp/tmp_1518733358_1118
+ mkfifo /tmp/tmp_1518733358_1118/write
+ rc=0
+ '[' 0 -ne 0 ']'
+ mkfifo /tmp/tmp_1518733358_1118/read
+ rc=0
+ '[' 0 -ne 0 ']'
+ mkfifo /tmp/tmp_1518733358_1118/store
+ rc=0
+ '[' 0 -ne 0 ']'
+ eval 'exec 7<>/tmp/tmp_1518733358_1118/write'
++ exec
+ rc=0
+ '[' 0 -ne 0 ']'
+ eval 'exec 8<>/tmp/tmp_1518733358_1118/read'
++ exec
+ rc=0
+ '[' 0 -ne 0 ']'
+ eval 'exec 3<>./eva_store_tffs.log'
++ exec
+ rc=0
+ '[' 0 -ne 0 ']'
+ control_connection=1127
+ data_connection=
+ nc 192.168.178.1 21
++ read_ftp_response 8 3
++ local 'line= -' rc=0 instream=8 log=3
++ read -u 8 -r line
++ '[' '!' -z 3 ']'
'+ echo '220 ADAM2 FTP Server ready
++ '[' ' ' '!=' - ']'
++ break
++ rc=0
'+ echo '220 ADAM2 FTP Server ready
++ return 0
' line='220 ADAM2 FTP Server ready
+ ec=220
+ '[' x220 == x220 ']'
+ login_to_box 8 7 3
+ local instream=8 outstream=7 log=3 lines=0
+ write_ftp_command 'USER adam2' 7 3
+ local outstream=7 'cmd=USER adam2' log=3
+ '[' '!' -z 3 ']'
+ echo 'USER adam2'
+ echo 'USER adam2'
+ '[' 0 -lt 10 ']'
++ read_ftp_response 8 3
++ local 'line= -' rc=0 instream=8 log=3
++ read -u 8 -r line
++ '[' '!' -z 3 ']'
'+ echo '331 Password required for adam2
++ '[' ' ' '!=' - ']'
++ break
++ rc=0
'+ echo '331 Password required for adam2
++ return 0
' line='331 Password required for adam2
+ ec=331
+ '[' x331 == x331 ']'
+ write_ftp_command 'PASS adam2' 7 3
+ local outstream=7 'cmd=PASS adam2' log=3
+ '[' '!' -z 3 ']'
+ echo 'PASS adam2'
+ echo 'PASS adam2'
+ lines=0
+ '[' 0 -lt 10 ']'
++ read_ftp_response 8 3
++ local 'line= -' rc=0 instream=8 log=3
++ read -u 8 -r line
++ '[' '!' -z 3 ']'
'+ echo '230 User adam2 successfully logged in
++ '[' ' ' '!=' - ']'
++ break
++ rc=0
'+ echo '230 User adam2 successfully logged in
++ return 0
' line='230 User adam2 successfully logged in
+ ec=230
+ '[' x230 == x331 ']'
+ '[' x230 == x230 ']'
+ return 0
+ '[' 0 -eq 0 ']'
+ write_ftp_command SYST 7 3
+ local outstream=7 cmd=SYST log=3
+ '[' '!' -z 3 ']'
+ echo SYST
+ echo SYST
++ read_ftp_response 8 3
++ local 'line= -' rc=0 instream=8 log=3
++ read -u 8 -r line
++ '[' '!' -z 3 ']'
'+ echo '215 AVM EVA Version 1.3272 0x0 0x36409
++ '[' ' ' '!=' - ']'
++ break
++ rc=0
'+ echo '215 AVM EVA Version 1.3272 0x0 0x36409
++ return 0
' line='215 AVM EVA Version 1.3272 0x0 0x36409
+ ec=215
+ '[' x215 == x215 ']'
'+ echo '215 AVM EVA Version 1.3272 0x0 0x36409
++ sed -n -e 's/.*\(AVM EVA\).*/\1/p'
+ syst='AVM EVA'
+ '[' 7 -ne 0 ']'
' echo 'Found AVM bootloader: AVM EVA Version 1.3272 0x0 0x36409
Found AVM bootloader: AVM EVA Version 1.3272 0x0 0x36409
+ upload_image 8 7 3 mtd4 /mnt/c/test/mtd.img
+ local instream=8 outstream=7 log=3 mtd=mtd4 file=/mnt/c/test/mtd.img
+ eval 'exec 9<>/tmp/tmp_1518733358_1118/store'
++ exec
+ '[' 0 -ne 0 ']'
+ write_ftp_command 'TYPE I' 7 3
+ local outstream=7 'cmd=TYPE I' log=3
+ '[' '!' -z 3 ']'
+ echo 'TYPE I'
+ echo 'TYPE I'
++ read_ftp_response 8 3
++ local 'line= -' rc=0 instream=8 log=3
++ read -u 8 -r line
++ '[' '!' -z 3 ']'
'+ echo '200 Type set to BINARY
++ '[' ' ' '!=' - ']'
++ break
++ rc=0
'+ echo '200 Type set to BINARY
++ return 0
' line='200 Type set to BINARY
+ ec=200
+ '[' x200 '!=' x200 ']'
+ write_ftp_command 'MEDIA FLSH' 7 3
+ local outstream=7 'cmd=MEDIA FLSH' log=3
+ '[' '!' -z 3 ']'
+ echo 'MEDIA FLSH'
+ echo 'MEDIA FLSH'
++ read_ftp_response 8 3
++ local 'line= -' rc=0 instream=8 log=3
++ read -u 8 -r line
++ '[' '!' -z 3 ']'
'+ echo '200 Media set to MEDIA_FLASH
++ '[' ' ' '!=' - ']'
++ break
++ rc=0
'+ echo '200 Media set to MEDIA_FLASH
++ return 0
' line='200 Media set to MEDIA_FLASH
+ ec=200
+ '[' x200 '!=' x200 ']'
+ write_ftp_command P@SW 7 3
+ local outstream=7 cmd=P@SW log=3
+ '[' '!' -z 3 ']'
+ echo P@SW
+ echo P@SW
++ read_ftp_response 8 3
++ local 'line= -' rc=0 instream=8 log=3
++ read -u 8 -r line
++ '[' '!' -z 3 ']'
'+ echo '227 Entering Passive Mode (192,168,178,1,54,69)
++ '[' ' ' '!=' - ']'
++ break
++ rc=0
'+ echo '227 Entering Passive Mode (192,168,178,1,54,69)
++ return 0
' line='227 Entering Passive Mode (192,168,178,1,54,69)
+ ec=227
+ '[' x227 == x227 ']'
'+ echo 227 Entering Passive Mode '(192,168,178,1,54,69)
++ sed -n -e 's/.*(\([0-9]*\),\([0-9]*\),\([0-9]*\),\([0-9]*\),\([0-9]*\),\([0-9]*\)).*/data_ip=\1.\2.\3.\4 data_port=\$(( \5 * 256 + \6 ))/p'
+ data_conn='data_ip=192.168.178.1 data_port=$(( 54 * 256 + 69 ))'
+ '[' 52 -eq 0 ']'
+ eval 'data_ip=192.168.178.1 data_port=$(( 54 * 256 + 69 ))'
++ data_ip=192.168.178.1
++ data_port=13893
+ data_connection=1141
+ sleep 1
+ nc -w 60 192.168.178.1 13893
+ write_ftp_command 'STOR mtd4' 7 3
+ local outstream=7 'cmd=STOR mtd4' log=3
+ '[' '!' -z 3 ']'
+ echo 'STOR mtd4'
+ echo 'STOR mtd4'
++ read_ftp_response 8 3
++ local 'line= -' rc=0 instream=8 log=3
++ read -u 8 -r line
++ '[' '!' -z 3 ']'
'+ echo '150 Opening BINARY data connection
++ '[' ' ' '!=' - ']'
++ break
++ rc=0
'+ echo '150 Opening BINARY data connection
++ return 0
' line='150 Opening BINARY data connection
+ ec=150
+ '[' x150 == x150 ']'
+ cat /mnt/c/test/mtd.img
++ read_ftp_response 8 3
++ local 'line= -' rc=0 instream=8 log=3
++ read -u 8 -r line
++ '[' '!' -z 3 ']'
'+ echo '226 Transfer complete
++ '[' ' ' '!=' - ']'
++ break
++ rc=0
'+ echo '226 Transfer complete
++ return 0
' line='226 Transfer complete
+ ec=226
+ '[' x226 == x226 ']'
+ '[' -d /proc/1141 ']'
+ data_connection=
+ eval 'exec 9>&-'
++ exec
+ rm /tmp/tmp_1518733358_1118/store
+ return 0
+ '[' 0 -eq 0 ']'
+ echo 'Image uploaded to device.'
Image uploaded to device.
+ '[' 0 -ne 0 ']'
+ '[' 4 -ne 0 ']'
+ '[' -d /proc/1127 ']'
+ wait 1127
+ kill 1127
+ eval 'exec 3>&-'
++ exec
+ eval 'exec 8>&-'
++ exec
+ eval 'exec 7>&-'
++ exec
+ rm /tmp/tmp_1518733358_1118/write
+ rm /tmp/tmp_1518733358_1118/read
+ rm -r /tmp/tmp_1518733358_1118
+ exit 1
ice@DESKTOP-PL65RLI:/mnt/c/test/Neu/eva_tools$
Danach ein Neustart bis Power led blinkt ca.20 sek nach alle leds.
Und mit EVA-FTP firmware eingespielt
ice@DESKTOP-PL65RLI:/mnt/c/test/6.85$ ftp 192.168.178.1
Connected to 192.168.178.1.
220 ADAM2 FTP Server ready
Name (192.168.178.1:ice): adam2
331 Password required for adam2
Password:
230 User adam2 successfully logged in
Remote system type is AVM.
ftp> quote MEDIA FLSH
200 Media set to MEDIA_FLASH
ftp> bin
200 Type set to BINARY
ftp> pas
Passive mode on.
ftp> put filesystem.image mtd0
local: filesystem.image remote: mtd0
227 Entering Passive Mode (192,168,178,1,54,69)
150 Opening BINARY data connection
226 Transfer complete
5704564 bytes sent in 4.77 secs (1.1406 MB/s)
ftp> put kernel.image mtd1
local: kernel.image remote: mtd1
227 Entering Passive Mode (192,168,178,1,54,69)
150 Opening BINARY data connection
226 Transfer complete
1853932 bytes sent in 1.59 secs (1.1136 MB/s)
ftp> lcd x86
Local directory now /mnt/c/test/6.85/x86
ftp> put filesystem.image mtd6
local: filesystem.image remote: mtd6
227 Entering Passive Mode (192,168,178,1,54,69)
150 Opening BINARY data connection
226 Transfer complete
20524773 bytes sent in 15.20 secs (1.2880 MB/s)
ftp> put kernel.image mtd7
local: kernel.image remote: mtd7
227 Entering Passive Mode (192,168,178,1,54,69)
150 Opening BINARY data connection
226 Transfer complete
3348624 bytes sent in 3.11 secs (1.0272 MB/s)
ftp> quote REBOOT
221 Thank you for using the FTP service on ADAM2
ftp> by
221 Goodbye.
ice@DESKTOP-PL65RLI:/mnt/c/test/6.85$

Immer noch das gleiche:(:(
 
Zuletzt bearbeitet von einem Moderator:
Danach ein Neustart bis Power led blinkt ca.20 sek nach alle leds.
Wer hat Dir den denn empfohlen?

Ich hatte (iirc) meinerseits geschrieben, daß dann ein Neustart bis zum FTP-Server erfolgen sollte - damit der Bootloader die Angaben aus dem gerade neu geflashten Environment verwendet, speziell die Einstellung von "linux_fs_start".

Ich glaube zwar im Moment auch nicht daran, daß das System bereits beim Starten wieder das TFFS zerwürgt, aber Dein Vorgehen ist zumindest nicht dazu geeignet, das komplett auszuschließen - und das ohne jede Notwendigkeit, wenn Du einfach richtig lesen würdest.

Bis zur Installation der Firmware wären jetzt aber die Schritte (mit Ausnahme der Chance, die Du dem System eingeräumt hast, das Environment gleich wieder zu zerstören) richtig und soweit komplett, daß eine (begründete) Chance bestünde, daß das System auch noch funktioniert. Vermutlich zum allerersten Mal, seitdem bei Dir die Probleme begonnen haben ... wenn schon immer an Deinen Eingabe-Dateien eine BOM stand, dann wird auch schon immer Dein TFFS-Image keine "HWRevision" enthalten haben, weil die erste Zeile der "env.txt" beim Erzeugen des Images ignoriert wurde.

Dein Text:
O.K. ich habe die env.txt und count.txt nochmals neu gespeichert. Jetzt ist der Script durchgelaufen.
ist auch absolut nicht dazu geeignet, sich da irgendwie sicher zu sein - ich hatte nicht umsonst dazu aufgefordert, daß Du Dich vergewisserst und nicht einfach irgendetwas anderes machst. Wenn Du am Ende ohnehin nie das durchführst, was man Dir eigentlich vorgeschlagen hat, warum machst Du es dann nicht gleich alleine?

Der nächste Schritt wäre dann eben (wenn man sich nicht immer nur vom "Prinzip Hoffnung" leiten läßt, bei dem man durchaus auch weitere Schäden riskiert) nicht etwa gewesen, sofort wieder das System zu starten, sondern erst einmal zu überprüfen (z.B. durch erneutes Auslesen von "env" und "count" über den Bootloader), daß die vorgenommenen Änderungen auch erfolgreich waren und zumindest im TFFS-Image etwas enthalten ist, was der Bootloader versteht (der muß zur Anzeige und Ausgabe das Environment ja auch aus dem TFFS zusammensuchen) und was damit das zu ladende System auch verstehen kann bzw. sollte.

Dann würde man durch einen Zusatz zu "firmware_version" noch dafür zu sorgen, daß die Box wirklich alle Schritte ausgeführt hat, die auch im Rahmen der Anwendung eines Recovery-Programms ausgeführt würden und dazu gehört nun mal noch das Löschen der NAS-Partition. Auch die ist ziemlich früh dran mit dem Mounten im Rahmen des normalen Startverlaufs und dürfte durchaus noch in die Zeit fallen, welche die Box (nach Deinen vorhergehenden Beschreibungen, die dringend der Erneuerung bedürfen, genauso wie ich es sehr begrüßen würde, wenn Du (a) auf meine - wenn auch nur indirekt gestellte - Frage nach dem verwendeten System eingehst und Dir (b) das von mir Geschriebene zum "debug"-Switch für die "bash"-Aufrufe zu Herzen nimmst - ich weiß, was die Skript-Dateien "im Inneren" ausführen und muß mir nicht mühsam die eigentlichen Ausgaben aus diesem Wust zusammenklauben, um damit "glücklich" zu werden) bis zu einem Reboot durchlebt.

Ich bin ja gerne bereit, weiter mit Dir an diesem Problem zu arbeiten ... das macht aber nur dann wirklich Sinn, wenn Du Dir bewußt machst, daß Du an der Stelle der Einzige bist, der "ausführen" und "beobachten" kann - dann mach' das auch mit der gebotenen "Hingabe" ... und zwar auf der einen Seite so, daß Du tatsächlich das "ausführst", was es brauchen würde für eine Eingrenzung des Problems (und dazu gehört absolut auch das Verständnis für dessen Historie und eine Idee, warum das Problem überhaupt auftrat - hier wäre die Vermutung mit der fehlenden "HWRevision" eine gute Hypothese gewesen, die Du eben erst einmal hättest überprüfen sollen) und indem Du auf der anderen Seite die Beobachtungen beim Auftreten des Fehlers so exakt wie möglich beschreibst.

Da ist dann
Immer noch das gleiche
auch nicht wirklich hilfreich ... wenn ich es nicht vollkommen falsch verstanden habe, gab es bisher durchaus verschiedene Fehlerbilder (man kann so etwas spaßigerweise auch in Abhängigkeit von der Zeit seit "Power On" beschreiben und nicht nur mithilfe von "LED blinkt", auch wenn diese Information zweifellos genauso dazu gehört) und welches von diesen "gleichen" soll man sich jetzt zu Deiner Bemerkung passend denken?

Hat man aber halbwegs exakte Zeitangaben und weiß auf der anderen Seite, welche Firmware-Version installiert ist und welche Einstellungen im Environment vorhanden sind (beim Löschen des NAS-Speichers braucht das natürlich zusätzliche Zeit beim Starten), kann man u.a. bei einer funktionierenden FRITZ!Box (mit derselben Firmware) auch einmal nachsehen (z.B. in der "dmesg"-Ausgabe), was davor bzw. bis zum Auslösen des Reboot-Vorgangs schon alles gestartet wurde oder gerade gestartet wird und damit steigt die Chance unheimlich, daß man dem Problem auch durch "Deduktion" auf den Grund gehen kann.

Ansonsten mußt Du eben tatsächlich die serielle Schnittstelle bestücken (wie es @f666 schon angesprochen hat) und nachsehen ... wobei ich mir im Moment gar nicht sicher bin, ob die nicht bereits beim Laden des Kernels abgeschaltet wird (irgendwo habe ich da eine Stelle aus dem Kernel-Setup im Hinterkopf, wo etwas in der Richtung zu sehen war - und das war m.E. für den Puma6, aber ich kann mich auch irren) und man damit ohnehin nur (einen anderen) Zugriff auf den Bootloader erhalten würde.
 
Ich habe im Thread zur seriellen Konsole letztes Jahr von meinen Erfahrungen etwas berichtet.
Mindestens seit 06.83 werden beide Kernel ohne SERIAL_8250_CONSOLE_MUTE kompiliert und die Konsolen funktionieren. /etc/inittab startet auch Loginshells.

Vom Bootloader bekomme ich allerdings überhaupt keine Ausgaben.
 
Vom Bootloader bekomme ich allerdings überhaupt keine Ausgaben.
Ich hatte das mit dem "MUTE" nur irgendwo im Gedächtnis abgespeichert ... bin mir aber auch relativ sicher, daß ich hinsichtlich des Bootloaders von jemandem schon anderes gelesen habe, der zumindest die allerersten Ausschriften mit irgendeinem "loading ..." noch erhielt und sich wunderte, warum danach dann Ruhe eintrat.

Da das mit der Seriellen aber auch immer mal wieder aufkommt als Idee, kann es sich auch um eine 7490 oder irgendein anderes Modell gehandelt haben - wobei dort ja eigentlich auch der Bootloader über UART "beobachtet" werden kann und mir jetzt nur die Puma-Boxen einfielen, bei denen das bisher anders war.

EDIT: Hab's gefunden, war bei einer 6360 mit Puma5: https://www.ip-phone-forum.de/threads/serielle-konsole-fritz-box-6360.277450/#post-2078532
 
Schau einfach mit einem Hex-Viewer in den Beginn der Datendateien(! - das sind also die "env.txt" und die "count.txt") ... die Skript-Datei hat damit nur wenig zu tun.

Die Datei muß direkt mit einem ASCII-Zeichen beginnen (also "H" wie "HWRevision" oder "r" wie "reboot_major") und mit nichts anderem
Habe ich mit HxD Hexeditor (plugin für Notepad2 server down, konnte ich nicht finden) nach geschaut ist so.
Wobei das auch nicht so ganz logisch wäre, denn irgendwo muß man die Skript-Dateien ja auch ausführen und das geht unter Windows eher schlecht, auch wenn ich anhand der Pfadnamen fast den Verdacht habe, daß Du da mit einer Cygwin-Umgebung arbeitest oder gar mit der W10-"bash" von Canonical.
Windows10-bash ja das ist richtig.(windows10 ubuntu vom store geladen) geht es also nicht mit dem scripten, bei win10-bash?
Den Aufruf mit "-x" braucht es auch nur sehr selten und wenn, dann solltest Du es mit "set -x" und "set +x" auf ausgewählte Bereiche in der Skript-Datei begrenzen, weil das Inkludieren der Bibliotheksfunktionen (yf_helper) nicht wirklich spannend ist und ich mir auch bei den Bibliotheksfunktionen selbst (das sind die Unterfunktionen, die mit "yf_" beginnen) einigermaßen sicher bin, daß sie korrekt arbeiten. Erst dann, wenn man ansonsten keine Idee mehr hat, wo im Skript ein Fehler steckt, muß man seine Zeit mit der "-x"-Option verschwenden.
O.K. ich gebe mein bestes

Wer hat Dir den denn empfohlen?

Ich hatte (iirc) meinerseits geschrieben, daß dann ein Neustart bis zum FTP-Server erfolgen sollte - damit der Bootloader die Angaben aus dem gerade neu geflashten Environment verwendet, speziell die Einstellung von "linux_fs_start".

Habe ich falsch interpretiert. Sorry. Ab jetzt ist es klar ;)

Dein Text:
ist auch absolut nicht dazu geeignet, sich da irgendwie sicher zu sein - ich hatte nicht umsonst dazu aufgefordert, daß Du Dich vergewisserst und nicht einfach irgendetwas anderes machst. Wenn Du am Ende ohnehin nie das durchführst, was man Dir eigentlich vorgeschlagen hat, warum machst Du es dann nicht gleich alleine?

Ich bin dir sehr Dankbar für deine hilfe und versuche so gut wie möglich mit zukommen.

Der nächste Schritt wäre dann eben (wenn man sich nicht immer nur vom "Prinzip Hoffnung" leiten läßt, bei dem man durchaus auch weitere Schäden riskiert) nicht etwa gewesen, sofort wieder das System zu starten, sondern erst einmal zu überprüfen (z.B. durch erneutes Auslesen von "env" und "count" über den Bootloader), daß die vorgenommenen Änderungen auch erfolgreich waren und zumindest im TFFS-Image etwas enthalten ist, was der Bootloader versteht (der muß zur Anzeige und Ausgabe das Environment ja auch aus dem TFFS zusammensuchen) und was damit das zu ladende System auch verstehen kann bzw. sollte.

Ich habe ja nach der flashen der mtd.img auf mtd3 und mtd4, env und count nochmals von der Box geholt. Die einträge waren identisch zu dem env.txt und count.txt(bei count.txt sind "0" und ausgelesene count hat wieder "u" hinter der einträge).
Dann würde man durch einen Zusatz zu "firmware_version" noch dafür zu sorgen, daß die Box wirklich alle Schritte ausgeführt hat, die auch im Rahmen der Anwendung eines Recovery-Programms ausgeführt würden und dazu gehört nun mal noch das Löschen der NAS-Partition

Meinst du vielleicht "firmware_info" ich habe gelesen das du mal anfügen von recovered zu "firmware_info" irgendwo geschrieben hattest, meinst du das?

Wie oben schon gesagt, ich bin dir für deine hilfbereitschaft sehr dankbar und versuche mit dir mit zuhalten. Da ich ja jetzt mit eine Hex-Editor nachgeschaut habe das die erste zeile bei env.txt mit H und bei count.txt mit r anfängt kann ich davon ausgehen das die 2 dateien in ordnung sind? Der linux_fs_start 0 ist übrigens auch in der ausgelesene env datei.

Win10-bash geht also nicht? ich habe leider nur windows soll ich eine virtuellen server einrichten?(was mir die frage stellt ob das nicht mit win10 ubuntu von store geladen das gleich wäre)?
 
Rein für das Erstellen eines TFFS-Images könnte zwar auch die W10-bash funktionieren, das ist aber nicht wirklich getestet und ich würde mich an so einen Test jetzt nicht gerade in einem Moment machen (an Deiner Stelle), wo ich ohnehin schon ein Problem habe. Wenn die Box wieder läuft, dann kann man immer noch mit einem "unbelasteten" Test an diese Frage herangehen ... zumindest muß man erst einmal hingehen und das von der W10-bash erzeugte TFFS mit einem vergleichen, was mit einem "richtigen Linux" erzeugt wurde.

Es gibt nun mal in der Canonical-Umgebung unter Windows ein paar Besonderheiten ... die kennt z.B. nicht alle Dateitypen (u.a. keine Device-Files) und ich würde nicht einmal beschwören, daß alle Library-Skripte aus "scriptlib" im YourFritz-Repo dort ohne jedes Problem laufen. Die sind zwar von der Syntax her POSIX-kompatibel, aber das würde ich für die Canonical-Umgebung unter W10 nicht ohne weiteres unterschreiben.

Ja, das Löschen der NAS-Partition kann man über den Zusatz ",recovered=2" zur Versionsnummer in "firmware_info" erreichen ... man kann sogar nur diesen Teil dort hinterlegen, dann sieht man nach einem Startversuch gleich noch, was vom startenden System dort hineingeschrieben wurde, wenn man vor dem nächsten Start noch einmal nachschaut. Das ermöglicht (a) die Einschätzung, ob es das richtige System ist und (b) die Feststellung, daß das System definitiv über diesen Punkt in seiner Initialisierung hinauskam. Also macht es Sinn, das einmalig(!) in "firmware_info" zu schreiben und beim nächsten Start dann das Timing zu beobachten und zu notieren (damit Du es hinterher hier beschreiben kannst) ... sollte es erneut zum automatischen Neustart kommen, unterbricht man diesen und geht wieder in den Bootloader, wo man den neuen Wert von "firmware_info" kontrolliert.

Eine weitere Variable, mit der man den Fortschritt überprüfen kann, ist "ptest" im Environment. Unbekannter Inhalt dort (z.B. yourfritz=1) führt nicht zu irgendwelchen Aktionen, sondern wird ignoriert ... gleichzeitig wird aber der Inhalt der "ptest"-Variablen in "S42-ptest" gelöscht. Eine leere Variable beim Neustart zeigt also an, daß die Box auch bis zu diesem Punkt kam bei der Initialisierung.

Daß inzwischen in den Eingabedateien dann die ersten Zeichen stimmen, kann man schon daraus schlußfolgern, daß ja jetzt der Zusammenbau des Images auch ohne Fehlermeldung funktioniert ... interessant wäre es, was da zuvor in den Dateien stand und das kann ich aus
Habe ich mit HxD Hexeditor (plugin für Notepad2 server down, konnte ich nicht finden) nach geschaut ist so.
nicht genau herauslesen.

Es wäre eben wichtig zu wissen, weil man dann zumindest eine Idee hat, woher das Problem kam. Da eben über "HWRevision" auch die WLAN-Hardware ausgewählt wird und die durchaus unterschiedlich ist in den Modellen, kann es durchaus auch sein, daß durch die fehlende Angabe von "HWRevision" mit einer falschen WLAN-Hardware gearbeitet wurde und dabei irgendwelche Kalibrierungen über den Jordan gingen. Das im Einzelnen nachzuverfolgen, lohnt sich aber nur dann, wenn man sich über die Ursache einigermaßen sicher ist - ansonsten ist das reine Zeitverschwendung.

Ansonsten wäre jetzt noch einmal das TFFS-Image zu flashen (die Firmware muß nicht erneut angefaßt werden) und die Variable "firmware_info" auf "recovered=2" zu setzen und anschließend die Box zu starten. Dabei die Reaktionen protokollieren (ein kleines Handy-Video hilft dabei z.B. ungemein, weil man sich das hinterher noch einige Male ansehen kann) und - sollte ein Neustart erfolgen - die Box wieder im FTP-Server anhalten und die Veränderungen im Environment notieren. Dann die Box (ohne weitere Änderungen) noch einmal starten ... manchmal hilft auch der zweite Versuch (der ein anderes Timing hat) bei der weiteren Eingrenzung der problematischen Stelle.

Sollte dann wirklich das WLAN nicht mehr richtig funktionieren und die Ursache für die Restarts sein, kann man sich eine "wlan.cfg" versuchen zu basteln, die - anders als die in "/etc" enthaltene Standard-Datei - das WLAN nicht automatisch aktiviert ... aber einen Schritt nach dem anderen.
 
Rein für das Erstellen eines TFFS-Images könnte zwar auch die W10-bash funktionieren, das ist aber nicht wirklich getestet und ich würde mich an so einen Test jetzt nicht gerade in einem Moment machen (an Deiner Stelle), wo ich ohnehin schon ein Problem habe. Wenn die Box wieder läuft, dann kann man immer noch mit einem "unbelasteten" Test an diese Frage herangehen ... zumindest muß man erst einmal hingehen und das von der W10-bash erzeugte TFFS mit einem vergleichen, was mit einem "richtigen Linux" erzeugt wurde
Habe mal zum Vergleich eine tffs-image mit VM Box und ubuntu"freetz-linux" eine mtd.img erstellt. Selbe größe und mit hex-editor Verglichen 1 zu 1 gleich. Kann man dan sagen durch die 2 Vergleiche, es ist das Selbe datei oder wie kann ich das noch abchecken.

Ja, das Löschen der NAS-Partition kann man über den Zusatz ",recovered=2" zur Versionsnummer in "firmware_info" erreichen ... man kann sogar nur diesen Teil dort hinterlegen, dann sieht man nach einem Startversuch gleich noch, was vom startenden System dort hineingeschrieben wurde, wenn man vor dem nächsten Start noch einmal nachschaut. Das ermöglicht (a) die Einschätzung, ob es das richtige System ist und (b) die Feststellung, daß das System definitiv über diesen Punkt in seiner Initialisierung hinauskam. Also macht es Sinn, das einmalig(!) in "firmware_info" zu schreiben und beim nächsten Start dann das Timing zu beobachten und zu notieren (damit Du es hinterher hier beschreiben kannst) ... sollte es erneut zum automatischen Neustart kommen, unterbricht man diesen und geht wieder in den Bootloader, wo man den neuen Wert von "firmware_info" kontrolliert.

Nach dem Schreiben des tffs-images auf mtd3 und mtd4 mit eva_store_tffs und zusatz "firmware_info 141.06.85,recoverd=2" Neustart:
=>Power on
=>Alle LEDS kurz aufgeleuchtet
=>Power LED blinkt(ca. in sekundentakt)
=>Sekunde 15 Power LED dauer an
=>Sekunde 30 Power LED blinkt(ca. in Sekundentakt)
=>Sekunde 55 Power LED doppeltes blinken
=>Sekunde 66 WLAN LED blinkt dazu (etwas schneller wie Sekundentakt 15 mal)
=>Sekunde 85 WLAN und Power LED aus
=>Sekunde 87 Power LED an
=>Sekunde 89 Power LED aus
=>Sekunde 91 Neustart

Eine weitere Variable, mit der man den Fortschritt überprüfen kann, ist "ptest" im Environment. Unbekannter Inhalt dort (z.B. yourfritz=1) führt nicht zu irgendwelchen Aktionen, sondern wird ignoriert ... gleichzeitig wird aber der Inhalt der "ptest"-Variablen in "S42-ptest" gelöscht. Eine leere Variable beim Neustart zeigt also an, daß die Box auch bis zu diesem Punkt kam bei der Initialisierung.

Das habe ich nicht ganz verstanden. Ich soll in env.txt eine neue zeile einfügen "yourfritz=1" (mit "=" oder einfach "yourfritz 1") danach nochmal tffs-image erzeugen? Wenn ja was prüfe ich danach, die env datei wieder aus der Box?

Daß inzwischen in den Eingabedateien dann die ersten Zeichen stimmen, kann man schon daraus schlußfolgern, daß ja jetzt der Zusammenbau des Images auch ohne Fehlermeldung funktioniert ... interessant wäre es, was da zuvor in den Dateien stand und das kann ich aus
Zitat von ice012345:
Habe ich mit HxD Hexeditor (plugin für Notepad2 server down, konnte ich nicht finden) nach geschaut ist so.
nicht genau herauslesen.

Ich weiß auch nicht mehr was vorher drin stand(höchst warscheinlich UTF format gewesen) aber nach dem ich die env.txt und count.txt gelöscht und neu erstellte (bzw. aus der Box holte und ergänzte), habe ich mit Hex-editor so wie du sagtest kontrolliert und die anfang bei env.txt war "H" und bei der count.txt "r".

Es wäre eben wichtig zu wissen, weil man dann zumindest eine Idee hat, woher das Problem kam. Da eben über "HWRevision" auch die WLAN-Hardware ausgewählt wird und die durchaus unterschiedlich ist in den Modellen, kann es durchaus auch sein, daß durch die fehlende Angabe von "HWRevision" mit einer falschen WLAN-Hardware gearbeitet wurde und dabei irgendwelche Kalibrierungen über den Jordan gingen. Das im Einzelnen nachzuverfolgen, lohnt sich aber nur dann, wenn man sich über die Ursache einigermaßen sicher ist - ansonsten ist das reine Zeitverschwendung.

Hab mir warscheinlich da durch(durch fehlende H und ignorieren des HWRevision) WLAN treiber durch einander gebracht. Das würde ja alles zusammen passen, immer bei versuch des WLAN zu aktivieren kack die Box ab(nach meine beobachtung).

Ich habe mal ping auf 192.168.178.1 nebenher laufen lassen, nach Neustart findet er gegenstelle ca. 10 Sekunden lang(FTP) danach erst wieder wenn WLAN LED anfängt zu blinken usw. 5-6 ping danach verliert es wieder.
Wenn ich mit Firefox WebUI nach anfangen der WLAN LED blinken fleißig aktualisiere komme ich sogar manchmal ins Menü(wenn es klappt für 1-2 sek.)

### Zusammenführung Doppelpost by stoney ###

Nach dem ersten Neustart hier die zweite
=>Power on
=>Alle LEDS kurz aufgeleuchtet
=>Power LED blinkt(ca. in sekundentakt)
=>Sekunde 15 Power LED dauer an
=>Sekunde 30 Power LED blinkt(ca. in Sekundentakt)
=>Sekunde 50 WLAN LED blinkt dazu (etwas schneller wie Sekundentakt 19 mal)
=>Sekunde 75 LEDS aus Neustart

env datei aus Box ausgelesen was sich geändert hat:

Firmware_info 141.06.85,recovered=2 <====>firmware_info 141.06.85
fristfreeaddress 0x4A092604>============>firstfreeaddress 0x00b20000

Der Rest ist gleich geblieben
 
Zuletzt bearbeitet von einem Moderator:
Da in der "S42-ptest" die Environment-Variable "ptest" wieder gelöscht wird, kann man irgendwelche eigenen Werte darin auch als Anzeiger benutzen, ob die Box bis zu diesem Punkt bei der Initialisierung gekommen ist. Aber egal ... rein von der Zeit her, muß die da schon vorbei sein.

Wenn ich die Zeiten vergleiche, dann braucht das Initialisieren des NAS-Speichers ca. 16 Sekunden ... komisch ist das kurze Abschalten von Power und WLAN beim ersten Mal bei Sekunde 85.

Trotzdem ist das (nach meiner Meinung) viel zu lange nach dem Initialisieren des WLAN, als daß es wirklich daran liegen sollte. Aber Du kannst es ja gerne probieren, ob Du das WLAN auslassen kannst (zumindest kann man das wohl wieder an den LEDs erkennen, ob die Änderung wirksam wird) ... dazu muß in das ansonsten leere TFFS-Image (als das Ergebnis von "build_tffs_image") noch zusätzlich eine "wlan.cfg" mit folgendem Inhalt aufgenommen werden:
Code:
wlancfg {
        ap_enabled = 0;
        ap_enabled_saved = 0;
        ap_enabled_scnd = 0;
        ap_enabled_scnd_saved = 0;
        channel = 0;
        bg_mode = 23;
        bg_mode_scnd = 53;
        encryption = 3;
        allowSharedKeyAuth = no;
        key_value0 = "";
        key_len0 = 0;
        key_value1 = "";
        key_len1 = 0;
        key_value2 = "";
        key_len2 = 0;
        key_value3 = "";
        key_len3 = 0;
        force_channel_conversion = no;
        wps_mode = 1;
        wireless_stickandsurf_enabled = no;
        wlan_coexistence = 1;
        band_steering = yes;
        band_steering_saved = yes;
}
Das ist - bis auf die ersten vier Werte - der Inhalt der "wlan.cfg" aus "/etc/default..." - die ersten vier Angaben sollten dafür sorgen, daß kein WLAN automatisch gestartet wird.

Diese Datei muß jetzt gepackt werden (weil "build_tffs_image" nicht selbst packt - wie das geht, steht in "tffs_add_file" (in "zlib_deflate"), wo eine ungepackte Datei erwartet wird) - dafür kann man auch diverse andere Wege nehmen, von Perl bis zu OpenSSL mit zlib-Support (ist u.a. im großen 6490-Thread beim ersten Vorstellen von "build_tffs_image" für diesen "Mißbrauch" - denn das war ja für ganz andere Zwecke gedacht - diskutiert, welche Möglichkeiten es da alles gibt). Die gepackte Datei gibt man dann als vierten Parameter beim "build_tffs_image" an - die Minor-ID für den Node wird aus dem Dateinamen abgeleitet. Welche ID die "wlan.cfg" hat, steht irgendwo in der "tffs.files".

Anschließend kann (meint: sollte) man durch Zerlegen des entstandenen TFFS-Images noch einmal prüfen, daß alles wie erwartet eingetragen wurde und dann kann man das TFFS-Image wieder flashen ... hier muß es natürlich wieder in beide Partitionen geschrieben werden, denn die automatische Auswahl des FRITZ!OS wird ja nur in "tffs_add_file" dadurch "ausgetrickst", daß dort die erzeugte Image-Datei eine kleinere ID erhält und damit nach Ansicht des Systems dann neuer wäre - das findet bei "build_tffs_image" alles nicht statt.

Ich glaube zwar nicht wirklich daran, daß sich durch das Abschalten des WLAN etwas ändert, aber einen Versuch ist es wohl wert.

Ansonsten sieht es ja so aus, als ob 21 bis 25 Sekunden nach dem Start der WLAN-Initialisierung der Neustart erfolgt ... das kann dann entweder direkt eine Aktion beim Start irgendeines neuen Daemons sein oder die Reaktion auf das Ablaufen eines Watchdog-Timers.

Ich kann mich irgendwie des Eindrucks nicht erwehren, daß hier der ARM-Core nicht mitmacht ... der Ablauf beim Initialisieren wäre jetzt folgender:

1. Im Rahmen von "rc.S" wird die "E46-net" aufgerufen (nach allen "S4*"-Dateien) und die fügt an ihrem Ende die "rc.net" ein.
2. In der "rc.net" wird dann die "rc.wlan" aufgerufen und bei deren "start"-Aktion fängt dann mit dem Laden des "wland" auch irgendwann das Geblinke der LED an.
3. Danach wird in der "rc.net" eigentlich nur noch der "dsld" gestartet ... das sollte aber auch klappen.
4. Nach der "E46-net" wieder zurück in "rc.S", käme jetzt in der "E47-voip" der Start des "voipd" an die Reihe ... solange keine Konfiguration vorhanden ist, sollte der auch nichts weiter anstellen.
5. Und damit wäre dann auch die Abarbeitung der "Gruppe 4" beendet und das nächste Skript ist jetzt "S50-lan-sync" - hier wird jetzt auf die ARM-CPU gewartet bzw. darauf, daß diese CPU ihrerseits bis zu einem bestimmten Punkt in der Initialisierung kommt.

Im Punkt 5 würde jetzt unendlich lange auf den ARM-Core gewartet, wenn nicht irgendwo anders dann doch ein Watchdog zuschlägt ... zum Beispiel wird in "S05-watchdog" ein Timer aufgesetzt, der nach spätestens 120 Sekunden die Box neu startet, wenn bis dahin die Initialisierung nicht abgeschlossen wurde. Das paßt nur leider auch wieder nicht zu den beobachteten Zeiten ... aber es ist auch nicht der einzige Watchdog, der verwendet wird, da gibt es noch in den diversen Daemons (und auch im "dsld", der ja schon gestartet wurde) ein paar weitere.

Ich kann mir problemlos vorstellen, daß sich jemand die Box auch dadurch zerschießt, daß er die "config-space"-Partition im SPI-Flash irgendwie versucht zu manipulieren (von Änderung bis Löschen) ... die wird ja auf dem ARM-Core als "/nvram" gemountet (mit JFFS2-Format) und enthält wichtige Daten für den Start der Intel-Programme für das CM. Ob der ARM-Core seinerseits auch ein Zurücksetzen des Gerätes auslösen würde, habe ich mir seit 06.8x (da ist das FRITZ!OS ja dann auf den ATOM-Core umgezogen) nicht mehr angesehen ... denkbar wäre es aber auch.

Es gibt aber noch eine Möglichkeit, mit der man das hier überprüfen kann ... erstens würde nach erfolgreichem Synchronisieren mit der anderen CPU in "S50-lan-sync" der USB-Stack initialisiert (in "S55-usb") und wenn man dort einen Speicher-Stick mit LED ansteckt, müßte man an deren Blinken (beim Zugriff auf ihren Controller, die darf dann nicht nur beim Schreiben leuchten, was auch einige Sticks machen) erkennen können, ob das System überhaupt bis zu diesem Punkt kommt oder nicht. Bei "nicht", ist die Schlußfolgerung, daß das System in der unmittelbar davor abzuarbeitenden "S50-lan-sync" hängt, sicherlich naheliegend.

Dann bliebe noch die Chance übrig, die Synchronisation zwischen den Kernen durch die Angabe von "no_core_sync=1" (getestet wird nur auf "no_core_sync", eine "0" als Wert ist also nicht das Gegenteil) in den Kernel-Parametern zu übergehen ... dazu muß man das einfach nur in "kernel_args" im Environment hinzufügen. Kommt das System danach dann doch bis zum Initialisieren von USB-Geräten (das läuft nach dem Start des Stacks ja auch asynchron über den "udevd" weiter), weiß man wenigstens einigermaßen sicher, daß es an einem Problem bei der Synchronisation mit dem ARM-Kernel liegt. Woran genau, muß man dann auf dem ARM-Core weiter erforschen.
 
Diese Datei muß jetzt gepackt werden (weil "build_tffs_image" nicht selbst packt - wie das geht, steht in "tffs_add_file" (in "zlib_deflate"), wo eine ungepackte Datei erwartet wird) - dafür kann man auch diverse andere Wege nehmen, von Perl bis zu OpenSSL mit zlib-Support (ist u.a. im großen 6490-Thread beim ersten Vorstellen von "build_tffs_image" für diesen "Mißbrauch" - denn das war ja für ganz andere Zwecke gedacht - diskutiert, welche Möglichkeiten es da alles gibt). Die gepackte Datei gibt man dann als vierten Parameter beim "build_tffs_image" an - die Minor-ID für den Node wird aus dem Dateinamen abgeleitet. Welche ID die "wlan.cfg" hat, steht irgendwo in der "tffs.files".
Ich weiß icht ob ich es Richtig gemacht habe hier meine Vorgehen
ich habe den selben weg gewählt wie bei Provideradditive.
=>wlan.cfg datei erstellen mit dem inhalt
wlancfg {
ap_enabled = 0;
ap_enabled_saved = 0;
ap_enabled_scnd = 0;
ap_enabled_scnd_saved = 0;
channel = 0;
bg_mode = 23;
bg_mode_scnd = 53;
encryption = 3;
allowSharedKeyAuth = no;
key_value0 = "";
key_len0 = 0;
key_value1 = "";
key_len1 = 0;
key_value2 = "";
key_len2 = 0;
key_value3 = "";
key_len3 = 0;
force_channel_conversion = no;
wps_mode = 1;
wireless_stickandsurf_enabled = no;
wlan_coexistence = 1;
band_steering = yes;
band_steering_saved = yes;
}
=>tar cvf /tmp/wlan.tar /mnt/c/test/wlan.cfg
=>zlib-flate -compress < /tmp/wlan.tar > /tmp/wlan.zlib
=>cp /tmp/wlan.zlib /mnt/c/test/0073.bin
" 0073.bin = tffs_files, NODE 115 wlan.cfg WLAN settings, 115 in HEX 73. Dies habe ich von Node 29 für Provideradditive(29 in HEX 01) abgeleitet"
Danach wieder "tffs-image" bauen
=>./build_tffs_image /mnt/c/test/nametable /mnt/c/test/env.txt /mnt/c/test/count.txt /mnt/c/test/0073.bin > /mnt/c/test/mtd.img

Anschließend kann (meint: sollte) man durch Zerlegen des entstandenen TFFS-Images noch einmal prüfen, daß alles wie erwartet eingetragen wurde und dann kann man das TFFS-Image wieder flashen

Wie mache ich das am besten?

Es gibt aber noch eine Möglichkeit, mit der man das hier überprüfen kann ... erstens würde nach erfolgreichem Synchronisieren mit der anderen CPU in "S50-lan-sync" der USB-Stack initialisiert (in "S55-usb") und wenn man dort einen Speicher-Stick mit LED ansteckt, müßte man an deren Blinken (beim Zugriff auf ihren Controller, die darf dann nicht nur beim Schreiben leuchten, was auch einige Sticks machen) erkennen können, ob das System überhaupt bis zu diesem Punkt kommt oder nicht. Bei "nicht", ist die Schlußfolgerung, daß das System in der unmittelbar davor abzuarbeitenden "S50-lan-sync" hängt, sicherlich naheliegend.

Habe ich ausprobiert, ja sie leuchtet tatsächlich nicht. Nur kurz bei Power on danach nicht mehr.
Dann bliebe noch die Chance übrig, die Synchronisation zwischen den Kernen durch die Angabe von "no_core_sync=1" (getestet wird nur auf "no_core_sync", eine "0" als Wert ist also nicht das Gegenteil) in den Kernel-Parametern zu übergehen ... dazu muß man das einfach nur in "kernel_args" im Environment hinzufügen

Muss ich dafür auch wieder eine tffs-image erstellen? Wenn ja wie füge ich kernel_args daten hinzu?
Oder reicht es per FTP quote SETENV kernel_args no_core_sync=1
 
Wie mache ich das am besten?
Na ja ... "dissect_tffs_dump" kennst Du ja schon und auch wenn das vielleicht keine "env" oder "count" erzeugt, klappt das Extrahieren der dort enthaltenen Daten (1x in gepackter und 1x in entpackter Form) da schon noch - dort könnte man z.B. erst mal nachschauen, ob eine 0073.bin erzeugt wird und wenn die dann auch noch entpackt vorliegt, ob sie mit der "wlan.cfg" übereinstimmt.

Dabei stellst Du dann auch schnell fest, daß es hier keinen Grund für die Verwendung von "tar" gibt ... die einzelnen TFFS-Nodes sind ja nicht zwangsläufig auch noch TAR-Files, wie Dir vielleicht bei vorhergehenden Verwendungen von "dissect_tffs_dump" aufgefallen ist - die "provideradditive.tar" ist durchaus eine Ausnahme.

Ansonsten kann man einzelne Variablen logischerweise auch mit "SETENV" ändern (und mit "UNSETENV" löschen) - man muß nur die richtige Reihenfolge im Kopf behalten, weil halt jedes Flashen eines TFFS-Images wieder den bei seinem Erstellen benutzten Inhalt zur Folge hat und zwischenzeitliche Änderungen mit Bootloader-Befehlen dann wieder verloren sind.
 
Na ja ... "dissect_tffs_dump" kennst Du ja schon und auch wenn das vielleicht keine "env" oder "count" erzeugt, klappt das Extrahieren der dort enthaltenen Daten (1x in gepackter und 1x in entpackter Form) da schon noch - dort könnte man z.B. erst mal nachschauen, ob eine 0073.bin erzeugt wird und wenn die dann auch noch entpackt vorliegt, ob sie mit der "wlan.cfg" übereinstimmt.
Ja klar.:D:oops:

### Zusammenführung by stoney ###

Na ja ... "dissect_tffs_dump" kennst Du ja schon und auch wenn das vielleicht keine "env" oder "count" erzeugt, klappt das Extrahieren der dort enthaltenen Daten (1x in gepackter und 1x in entpackter Form) da schon noch - dort könnte man z.B. erst mal nachschauen, ob eine 0073.bin erzeugt wird und wenn die dann auch noch entpackt vorliegt, ob sie mit der "wlan.cfg" übereinstimmt.

Also wenn ich es mir "dissect_tffs_image" zerlege, kommt "+ echo 'unexpected error reading TFFS dump'" aber im /tmp ordner habe ich trotzdem ausgabe. In dem Ausgabe ist dann auch tatsächlich 0073.bin und 0073.inflated.
0073.bin ist wie das gepackte
0073.inflated ist wie wlan.cfg(aber doch nicht ganz, erste und letzte zeile ist mit (geschrieben auf schwarze hintergrund "NUL") voll)

Ich habe dann mal gewagt es zu flashen, aber wlan wird trotzdem noch gestartet.

Als nächstes habe ich mal quote SETENV kernel_args no_core_sync=1 probiert, usb-stick leuchtet trotzdem nicht
=>Power on
=>Alle LEDS kurz aufgeleuchtet
=>Power LED blinkt(ca. in sekundentakt)
=>Sekunde 15 Power LED dauer an
=>Sekunde 30 Power LED blinkt(ca. in Sekundentakt)
=>Sekunde 48 WLAN LED fangt an zu blinken
=>Sekunde 55 POWER LED doppel blinken dazu
=>Sekunde 220 POWER LED aus WLAN LED dauer an
=>Sekunde 240 WLAN LED aus
=>Neustart
 
Zuletzt bearbeitet von einem Moderator:
Dann ist wohl etwas beim Packen falsch gelaufen ... ansonsten gäbe es beim Entpacken ja keinen Unterschied - jedenfalls habe ich bisher noch nie von Problemen beim Entpacken in "dissect_tffs_dump" gehört und vermutlich wird es bei Dir ja auch keine Probleme geben, wenn Du mittels "dissect_tffs_dump" einen Dump aus den erweiterten Support-Daten zerlegst.

Also erst einmal ein vernünftiges Image bauen ... ich weiß nicht, was das von Dir verwendete Programm beim "zlib-deflate" wirklich macht, aber wie ich mit "gzip" und "dd" einen passenden zlib-Stream erzeuge, habe ich schon gezeigt. Wenn das Ergebnis Deines Packers damit identisch ist, ist das in Ordnung ... wenn nicht, such' Dir etwas Passenderes oder baue meinen Weg nach - es ist ja nicht so schwer, diese Funktion aus "tffs_add_file" in ein gesondertes Skript zu packen.

Und wenn Du neue Versuche zum Start der Box unternimmst, gilt auch weiterhin die Notwendigkeit, den Startverlauf ganz genau zu beschreiben ... es ist ziemlich witzlos, sich nur auf den USB-Stick zu kaprizieren.

Ich werde wohl auch weiterhin nicht verstehen, warum Du trotz offensichtlicher Fehler immer wieder aufs Neue versuchst, die Box zu starten ... was erwartest Du davon eigentlich genau? Daß die gute Fee mit dem Zauberstab vorbeikommt und dann funktioniert die Box plötzlich und unerwartet wieder? Die Chancen stehen eher schlecht und bei solchen "ungeordneten" Tests bin ich mir auch nicht sicher, ob man nicht sogar jedesmal wieder von einem definierten und bekannten Stand neu beginnen müßte - oder weißt Du Deinerseits genau, was das startende System vor oder beim Absturz noch so alles ins TFFS schreibt, so daß man von einem "definierten Stand" sprechen kann?
 
Und wenn Du neue Versuche zum Start der Box unternimmst, gilt auch weiterhin die Notwendigkeit, den Startverlauf ganz genau zu beschreiben ... es ist ziemlich witzlos, sich nur auf den USB-Stick zu kaprizieren.
Habe ich doch, die beobachtung im spoiler gepack.

Ich werde wohl auch weiterhin nicht verstehen, warum Du trotz offensichtlicher Fehler immer wieder aufs Neue versuchst, die Box zu starten ... was erwartest Du davon eigentlich genau? Daß die gute Fee mit dem Zauberstab vorbeikommt und dann funktioniert die Box plötzlich und unerwartet wieder? Die Chancen stehen eher schlecht und bei solchen "ungeordneten" Tests bin ich mir auch nicht sicher, ob man nicht sogar jedesmal wieder von einem definierten und bekannten Stand neu beginnen müßte - oder weißt Du Deinerseits genau, was das startende System vor oder beim Absturz noch so alles ins TFFS schreibt, so daß man von einem "definierten Stand" sprechen kann?

Ich wollte doch nur den anderen weg wo du erwähtest
Dann bliebe noch die Chance übrig, die Synchronisation zwischen den Kernen durch die Angabe von "no_core_sync=1" (getestet wird nur auf "no_core_sync", eine "0" als Wert ist also nicht das Gegenteil) in den Kernel-Parametern zu übergehen ... dazu muß man das einfach nur in "kernel_args" im Environment hinzufügen. Kommt das System danach dann doch bis zum Initialisieren von USB-Geräten (das läuft nach dem Start des Stacks ja auch asynchron über den "udevd" weiter), weiß man wenigstens einigermaßen sicher, daß es an einem Problem bei der Synchronisation mit dem ARM-Kernel liegt. Woran genau, muß man dann auf dem ARM-Core weiter erforschen.
schonmal testen und Berichten, ob durch die aufhebung der syncronisation das System weiter hoch fährt bis zu USB?? Habe ich das falsch verstanden?
was erwartest Du davon eigentlich genau? Daß die gute Fee mit dem Zauberstab vorbeikommt und dann funktioniert die Box plötzlich und unerwartet wieder?
Natürlich nicht.:p
Dann ist wohl etwas beim Packen falsch gelaufen ... ansonsten gäbe es beim Entpacken ja keinen Unterschied - jedenfalls habe ich bisher noch nie von Problemen beim Entpacken in "dissect_tffs_dump" gehört und vermutlich wird es bei Dir ja auch keine Probleme geben, wenn Du mittels "dissect_tffs_dump" einen Dump aus den erweiterten Support-Daten zerlegst.
Ja.
Also erst einmal ein vernünftiges Image bauen ... ich weiß nicht, was das von Dir verwendete Programm beim "zlib-deflate" wirklich macht, aber wie ich mit "gzip" und "dd" einen passenden zlib-Stream erzeuge, habe ich schon gezeigt. Wenn das Ergebnis Deines Packers damit identisch ist, ist das in Ordnung ... wenn nicht, such' Dir etwas Passenderes oder baue meinen Weg nach - es ist ja nicht so schwer, diese Funktion aus "tffs_add_file" in ein gesondertes Skript zu packen.
Ich gebe mir mühe und werde Berichten.:)
 
Habe ich doch, die beobachtung im spoiler gepack.
OK, habe ich nicht gesehen, sorry. Schaue ich mir in ca. 8-9 Stunden dann an.

Ja, ich bin halt auch etwas unzufrieden (und maulig), weil das nun mal recht zäh geht - aber irgendwann muß ich auch mal schlafen und so langsam gehen mir auch die Ideen aus, was das nun noch sein soll.

Hast Du mal - nach dem Flashen eines TFFS-Images in beide Partitionen und einem Neustart bis zum Bootloader - über den FTP-Server nachgesehen (mit "GETENV"), ob die im TFFS gesetzten Daten auch mit denen übereinstimmen, die man bei einem "RETR env" (bzw. mit dem entsprechenden Skript aus "eva_tools", was einem das abnimmt) auslesen kann? Das muß nicht zwangsläufig identisch sein ... bei den GRX-Boxen ist da z.B. die Angabe des verfügbaren Hauptspeichers (memsize) unterschiedlich. Mich interessiert in erster Linie, daß dabei tatsächlich auch die richtige "firmware_version" (also "avm", wenn Du eine Retail-Version verwenden willst) angezeigt wird und zwar auf beiden Wegen.
 
Hast Du mal - nach dem Flashen eines TFFS-Images in beide Partitionen und einem Neustart bis zum Bootloader - über den FTP-Server nachgesehen (mit "GETENV"), ob die im TFFS gesetzten Daten auch mit denen übereinstimmen, die man bei einem "RETR env" (bzw. mit dem entsprechenden Skript aus "eva_tools", was einem das abnimmt) auslesen kann? Das muß nicht zwangsläufig identisch sein ... bei den GRX-Boxen ist da z.B. die Angabe des verfügbaren Hauptspeichers (memsize) unterschiedlich. Mich interessiert in erster Linie, daß dabei tatsächlich auch die richtige "firmware_version" (also "avm", wenn Du eine Retail-Version verwenden willst) angezeigt wird und zwar auf beiden Wegen.
Ja nach der tffs-image flashen restart und direkt wieder ftp aufgebaut und mit quote MEDIA FLSH=>bin=>pas=>get env ausgelesen.
Alle daten stimmen.

firmware_info 141.06.85
firmware_version avm
linux_fs_start 0
HWRevision 213
und die ganze mac adressen

OK, habe ich nicht gesehen, sorry. Schaue ich mir in ca. 8-9 Stunden dann an.
Kein ding. Ist ja auch schon spät, schlafen hört sich gut an.:)

Bringt das uns was eigentlich, ich habe eine identische Fritzbox 6490 auch kdg version?
Mit dem selben bootloader version. Aber auch mit Retail firmware drauf.
Kann man daraus was basteln und rüber flaschen?
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,171
Beiträge
2,247,421
Mitglieder
373,714
Neuestes Mitglied
Panicmaker
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.