#18456: OpenWRT of DIR-645 does not run firstboot after flashing
--------------------------+-----------------------------------
  Reporter:  jchessman    |      Owner:  developers
      Type:  defect       |     Status:  new
  Priority:  normal       |  Milestone:
 Component:  base system  |    Version:  Barrier Breaker 14.07
Resolution:               |   Keywords:
--------------------------+-----------------------------------

Comment (by anonymous):

 Based on forum discussion there may be something wrong with the image
 generation or with the image handling / end detection at the boot after
 flashing. The initial "factory" image fails at the first boot to detect
 the end of the squashfs firmware, and does not generate the proper jffs2
 partition.
 {{{
 [   54.260000] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not
 found at 0x003f0024: 0x6ac0 instead
 [   54.270000] jffs2: Further such events for this erase block will not be
 printed
 [   54.330000] jffs2: Old JFFS2 bitmask found at 0x003f2d88
 [   54.340000] jffs2: You cannot use older JFFS2 filesystems with newer
 kernels
 [   54.640000] jffs2: Cowardly refusing to erase blocks on filesystem with
 no valid JFFS2 nodes
 }}}
 Manually running jffs2reset (=firstboot) then fixes things. Apparently it
 is bypasses the partition end code market search and just overwrites
 things. (based on partition sizes in mtd?)

 This might be related to seama-header in DIR-645. It is one of the few
 devices with that header. Possibly the uci-defaults script does not run
 properly?
 https://dev.openwrt.org/browser/trunk/target/linux/ramips/base-files/etc
 /uci-defaults/09_fix-seama-header
 The uci-defaults script runs in practice the command "mtd fixseama
 kernel". One of you with the problem might try flashing again with the
 factory image and try running that command after the boot. What errors do
 pop up?

 This might be related to r45896, which fixed endianness detection for trx
 code in mtd. Might seama code in mtd have a similar endianness detection
 problem? seama.c uses both BYTE_ORDER and BIG_ENDIAN, but does not include
 <endian.h>. Adding that fixed things for trx.c.
 https://dev.openwrt.org/browser/trunk/package/system/mtd/src/seama.c#L25

--
Ticket URL: <https://dev.openwrt.org/ticket/18456#comment:2>
OpenWrt <http://openwrt.org>
Opensource Wireless Router Technology
_______________________________________________
openwrt-tickets mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-tickets

Reply via email to