apparent damaged device mounts read only



  • Greetings,
    I've been upgrading several O2+ devices to the current firmware. One device is giving me fits. There is some evidence it may be damaged (segment fault due to unable to write a specific location).

    There are issues with what devices are (not) mounted and their mount points. I believe those are symptoms of the core problem. The core problem I believe is exemplified best by the console output during a reflash attempt (firstboot -y; sync; reboot). The output follows. Note the segment fault before the reflash attempt is made. That one can perhaps be ignored as the system is already in a state of read only. Other seg faults occur while the system is being brought back up and they are indeed of significance. Also note specific memory locations are called out.
    See timestamp [ 71.966865 ]. The output follows.

    /dev/mtdblock6 is mounted as /tmp/overlay, only erasing files
    [  455.823338]
    do_page_fault(): sending SIGSEGV to jffs2reset for invalid write access to 7f534fe0
    [  455.832251] epc = 77b949e8 in libc.so[77b1e000+92000]
    [  455.837518] ra  = 77b3d7d4 in libc.so[77b1e000+92000]
    [  455.842655]
    Segmentation fault
    root@Omega-FDF5:/# [  456.228516] br-wlan: port 1(ra0) entered disabled state
    [  456.253954] device ra0 left promiscuous mode
    [  456.258624] br-wlan: port 1(ra0) entered disabled state
    [  460.554539] reboot: Restarting system
    
    
       ____       _             ____
      / __ \___  (_)__  ___    / __ \__ _  ___ ___ ____ _
     / /_/ / _ \/ / _ \/ _ \  / /_/ /  ' \/ -_) _ `/ _ `/
     \____/_//_/_/\___/_//_/  \____/_/_/_/\__/\_, /\_,_/
     W H A T  W I L L  Y O U  I N V E N T ? /___/"
    
    Board: Onion Omega2 APSoC DRAM:  128 MB
    relocate_code Pointer at: 87f60000
    ******************************
    Software System Reset Occurred
    ******************************
    flash manufacture id: c2, device id 20 19
    find flash: MX25L25635E
    *** Warning - bad CRC, using default environment
    
    ============================================
    Onion Omega2 UBoot Version: 4.3.0.3
    --------------------------------------------
    ASIC 7628_MP (Port5<->None)
    DRAM component: 1024 Mbits DDR, width 16
    DRAM bus: 16 bit
    Total memory: 128 MBytes
    Flash component: SPI Flash
    Date:Oct 18 2016  Time:17:29:05
    ============================================
    icache: sets:512, ways:4, linesz:32 ,total:65536
    dcache: sets:256, ways:4, linesz:32 ,total:32768
    CPU freq = 575 MHZ
    Estimated memory size = 128 Mbytes
    Resetting MT7628 PHY.
    Initializing MT7688 GPIO system.
    
    
    **************************************
    * Hold Reset button for more options *
    **************************************
    
    
    
    Boot Linux from Flash NO RESET PRESSED.
    ## Booting image at bc050000 ...
       Image Name:   MIPS LEDE Linux-4.4.74
       Image Type:   MIPS Linux Kernel Image (lzma compressed)
       Data Size:    1341943 Bytes =  1.3 MB
       Load Address: 80000000
       Entry Point:  80000000
       Verifying Checksum ... OK
       Uncompressing Kernel Image ... OK
    No initrd
    ## Transferring control to Linux (at address 80000000) ...
    ## Giving linux memsize in MB, 128
    
    Starting kernel ...
    
    [    0.000000] Linux version 4.4.74 (root@3fbe4dcb626f) (gcc version 5.4.0 (LEDE GCC 5.4.0 r3484-d8f14ba) ) #0 Tue Jul 31 16:32:08 2018
    [    0.000000] Board has DDR2
    [    0.000000] Analog PMU set to hw control
    [    0.000000] Digital PMU set to hw control
    [    0.000000] SoC Type: MediaTek MT7688 ver:1 eco:2
    [    0.000000] bootconsole [early0] enabled
    [    0.000000] CPU0 revision is: 00019655 (MIPS 24KEc)
    [    0.000000] MIPS: machine is Onion Omega2+
    [    0.000000] Determined physical RAM map:
    [    0.000000]  memory: 08000000 @ 00000000 (usable)
    [    0.000000] Initrd not found or empty - disabling initrd
    [    0.000000] Zone ranges:
    [    0.000000]   Normal   [mem 0x0000000000000000-0x0000000007ffffff]
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000000000000-0x0000000007ffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
    [    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
    [    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
    [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
    [    0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
    [    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
    [    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
    [    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
    [    0.000000] Writing ErrCtl register=0004e120
    [    0.000000] Readback ErrCtl register=0004e120
    [    0.000000] Memory: 125488K/131072K available (3103K kernel code, 145K rwdata, 740K rodata, 164K init, 196K bss, 5584K reserved, 0K cma-reserved)
    [    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [    0.000000] NR_IRQS:256
    [    0.000000] intc: using register map from devicetree
    [    0.000000] CPU Clock: 580MHz
    [    0.000000] clocksource_probe: no matching clocksources found
    [    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns
    [    0.000011] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns
    [    0.007521] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
    [    0.070041] pid_max: default: 32768 minimum: 301
    [    0.074638] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.080974] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.094658] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [    0.104168] futex hash table entries: 256 (order: -1, 3072 bytes)
    [    0.110173] pinctrl core: initialized pinctrl subsystem
    [    0.115945] NET: Registered protocol family 16
    [    0.141129] mt7621_gpio 10000600.gpio: registering 32 gpios
    [    0.146675] mt7621_gpio 10000600.gpio: registering 32 gpios
    [    0.152092] mt7621_gpio 10000600.gpio: registering 32 gpios
    [    0.158686] i2c-mt7621 10000900.i2c: clock 100 kHz
    [    0.164444] clocksource: Switched to clocksource MIPS
    [    0.171003] NET: Registered protocol family 2
    [    0.176214] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.182903] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
    [    0.189091] TCP: Hash tables configured (established 1024 bind 1024)
    [    0.195282] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [    0.200880] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [    0.207270] NET: Registered protocol family 1
    [    0.217806] Crashlog allocated RAM at address 0x3f00000
    [    0.239233] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [    0.244890] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
    [    0.257667] io scheduler noop registered
    [    0.261409] io scheduler deadline registered (default)
    [    0.267337] rt2880-pinmux pinctrl: pin io18 already requested by pinctrl; cannot claim for 10005000.pwm
    [    0.276420] rt2880-pinmux pinctrl: pin-18 (10005000.pwm) status -22
    [    0.282417] rt2880-pinmux pinctrl: could not request pin 18 (io18) from group pwm0  on device rt2880-pinmux
    [    0.291830] mtk-pwm 10005000.pwm: Error applying setting, reverse things back
    [    0.299190] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
    [    0.306640] console [ttyS0] disabled
    [    0.310075] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 28, base_baud = 2500000) is a 16550A
    [    0.318850] console [ttyS0] enabled
    [    0.318850] console [ttyS0] enabled
    [    0.325841] bootconsole [early0] disabled
    [    0.325841] bootconsole [early0] disabled
    [    0.334536] 10000d00.uart1: ttyS1 at MMIO 0x10000d00 (irq = 29, base_baud = 2500000) is a 16550A
    [    0.344003] 10000e00.uart2: ttyS2 at MMIO 0x10000e00 (irq = 30, base_baud = 2500000) is a 16550A
    [    0.354632] spi-mt7621 10000b00.spi: sys_freq: 193333333
    [    0.364818] m25p80 spi32766.0: using chunked io (size=31)
    [    0.370316] m25p80 spi32766.0: mx25l25635e (32768 Kbytes)
    [    0.375859] 4 ofpart partitions found on MTD device spi32766.0
    [    0.381771] Creating 4 MTD partitions on "spi32766.0":
    [    0.387000] 0x000000000000-0x000000030000 : "u-boot"
    [    0.393843] 0x000000030000-0x000000040000 : "u-boot-env"
    [    0.401185] 0x000000040000-0x000000050000 : "factory"
    [    0.408228] 0x000000050000-0x000002000000 : "firmware"
    [    0.456245] 2 uimage-fw partitions found on MTD device firmware
    [    0.462272] 0x000000050000-0x000000197a37 : "kernel"
    [    0.468976] 0x000000197a37-0x000002000000 : "rootfs"
    [    0.475890] mtd: device 5 (rootfs) set to be root filesystem
    [    0.481705] 1 squashfs-split partitions found on MTD device rootfs
    [    0.488048] 0x0000007a0000-0x000002000000 : "rootfs_data"
    [    0.505336] rt3050-esw 10110000.esw: link changed 0x00
    [    0.513114] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
    [    0.521764] i2c /dev entries driver
    [    0.525923] mt7621_wdt 10000120.watchdog: Initialized
    [    0.532585] NET: Registered protocol family 10
    [    0.541307] NET: Registered protocol family 17
    [    0.545994] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
    [    0.558815] 8021q: 802.1Q VLAN Support v1.8
    [    0.571597] VFS: Mounted root (squashfs filesystem) readonly on device 31:5.
    [    0.579735] Freeing unused kernel memory: 164K (803e7000 - 80410000)
    [    1.869034] init: Console is alive
    [    1.872706] init: - watchdog -
    [    4.454128] kmodloader: loading kernel modules from /etc/modules-boot.d/*
    [    4.620441] usbcore: registered new interface driver usbfs
    [    4.626194] usbcore: registered new interface driver hub
    [    4.631711] usbcore: registered new device driver usb
    [    4.643206] exFAT: Version 1.2.9
    [    4.685999] SCSI subsystem initialized
    [    4.696977] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [    4.705385] ehci-platform: EHCI generic platform driver
    [    4.721060] phy phy-10120000.usbphy.0: remote usb device wakeup disabled
    [    4.727877] phy phy-10120000.usbphy.0: UTMI 16bit 30MHz
    [    4.733210] ehci-platform 101c0000.ehci: EHCI Host Controller
    [    4.739089] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1
    [    4.747255] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000
    [    4.764486] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00
    [    4.771960] hub 1-0:1.0: USB hub found
    [    4.776252] hub 1-0:1.0: 1 port detected
    [    4.785230] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
    [    4.793198] ohci-platform: OHCI generic platform driver
    [    4.798857] ohci-platform 101c1000.ohci: Generic Platform OHCI controller
    [    4.805829] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2
    [    4.813944] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000
    [    4.879631] hub 2-0:1.0: USB hub found
    [    4.883889] hub 2-0:1.0: 1 port detected
    [    4.901350] MTK MSDC device init.
    [    4.944622] mtk-sd: MediaTek MT6575 MSDC Driver
    [    4.952648] sdhci: Secure Digital Host Controller Interface driver
    [    4.958997] sdhci: Copyright(c) Pierre Ossman
    [    4.964945] sdhci-pltfm: SDHCI platform and OF driver helper
    [    4.975333] usbcore: registered new interface driver usb-storage
    [    4.985037] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
    [    5.002850] init: - preinit -
    [    5.949803] rt3050-esw 10110000.esw: link changed 0x00
    Press the [f] key and hit [enter] to enter failsafe mode
    Press the [1], [2], [3] or [4] key and hit [enter] to select the debug[    6.151023] random: procd: uninitialized urandom read (4 bytes read, 11 bits of entropy available)
     level
    [    9.642919] jffs2: notice: (402) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
    Error loading shared library libblkid-tiny.so: No such file or directory (needed by /tmp/overlay/upper/sbin/bloc[    9.678959] mount_root: overlay filesystem has not been fully initialized yet
    k)
    Error relocating /tmp/overlay/upper/sbin/block: probe_block: symbol not found
    Error relocating /tmp/overlay/upper/sbin/block: mkblkdev: symbol not found
    [   71.966865]
    do_page_fault(): sending SIGSEGV to mount_root for invalid write access to 7f5efff8
    [   71.975759] epc = 779c425c in libc.so[7799c000+92000]
    [   71.980917] ra  = 779c4d48 in libc.so[7799c000+92000]
    [   71.986062]
    Segmentation fault
    [   71.996328] urandom-seed: Seed file not found (/etc/urandom.seed)
    [   72.237516] procd: - early -
    [   72.240558] procd: - watchdog -
    [   72.890837] procd: - watchdog -
    [   72.894278] procd: - ubus -
    [   73.071104] random: ubusd: uninitialized urandom read (4 bytes read, 116 bits of entropy available)
    [   73.080873] random: ubusd: uninitialized urandom read (4 bytes read, 116 bits of entropy available)
    [   73.090257] random: ubusd: uninitialized urandom read (4 bytes read, 116 bits of entropy available)
    [   73.103592] random: ubusd: uninitialized urandom read (4 bytes read, 116 bits of entropy available)
    [   73.112955] random: ubusd: uninitialized urandom read (4 bytes read, 116 bits of entropy available)
    [   73.122689] random: ubusd: uninitialized urandom read (4 bytes read, 116 bits of entropy available)
    [   73.132165] random: ubusd: uninitialized urandom read (4 bytes read, 116 bits of entropy available)
    [   73.141803] procd: - init -
    Please press Enter to activate this console.
    [   73.627891] kmodloader: loading kernel modules from /etc/modules.d/*
    [   73.662942] ntfs: driver 2.1.32 [Flags: R/O MODULE].
    [   73.736690] ip6_tables: (C) 2000-2006 Netfilter Core Team
    [   73.762737] gdma-rt2880 10002800.gdma: revision: 3, channels: 16
    [   74.215370]
    [   74.215370]
    [   74.215370] === pAd = c0575000, size = 1182848 ===
    [   74.215370]
    [   74.226253] mt7628_init(FW(8a00), HW(8a01), CHIPID(7628))
    [   74.273697] Linux video capture interface: v2.00
    [   74.290322] hidraw: raw HID events driver (C) Jiri Kosina
    [   74.315449] ralink-i2s 10000a00.i2s: mclk 480KHz
    [   74.323488] max98090 0-0010: Failed to reset codec: -6
    [   74.328962] max98090 0-0010: Failed to read device revision: -1
    [   74.334989] max98090 0-0010: ASoC: failed to probe component -1
    [   74.341629] asoc-simple-card sound: ASoC: failed to instantiate card -1
    [   74.348497] asoc-simple-card: probe of sound failed with error -1
    [   74.386094] Bluetooth: Core ver 2.21
    [   74.389834] NET: Registered protocol family 31
    [   74.394339] Bluetooth: HCI device and connection manager initialized
    [   74.400839] Bluetooth: HCI socket layer initialized
    [   74.405799] Bluetooth: L2CAP socket layer initialized
    [   74.410950] Bluetooth: SCO socket layer initialized
    [   74.418454] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
    [   74.423855] Bluetooth: BNEP filters: protocol multicast
    [   74.429235] Bluetooth: BNEP socket layer initialized
    [   74.462311] usbcore: registered new interface driver btusb
    [   74.477656] usbcore: registered new interface driver cdc_acm
    [   74.483408] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
    [   74.523788] Bluetooth: HCI UART driver ver 2.3
    [   74.528377] Bluetooth: HCI UART protocol H4 registered
    [   74.533584] Bluetooth: HCI UART protocol BCSP registered
    [   74.543111] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
    [   74.549212] Bluetooth: HIDP socket layer initialized
    [   74.557438] ip_tables: (C) 2000-2006 Netfilter Core Team
    [   74.578603] nf_conntrack version 0.5.0 (1963 buckets, 7852 max)
    [   74.610095] Bluetooth: RFCOMM TTY layer initialized
    [   74.615146] Bluetooth: RFCOMM socket layer initialized
    [   74.620383] Bluetooth: RFCOMM ver 1.11
    [   74.773469] usbcore: registered new interface driver ums-alauda
    [   74.782508] usbcore: registered new interface driver ums-cypress
    [   74.791724] usbcore: registered new interface driver ums-datafab
    [   74.800712] usbcore: registered new interface driver ums-freecom
    [   74.809885] usbcore: registered new interface driver ums-isd200
    [   74.819146] usbcore: registered new interface driver ums-jumpshot
    [   74.828216] usbcore: registered new interface driver ums-karma
    [   74.837993] usbcore: registered new interface driver ums-sddr09
    [   74.847110] usbcore: registered new interface driver ums-sddr55
    [   74.856601] usbcore: registered new interface driver ums-usbat
    [   74.868881] usbcore: registered new interface driver usbhid
    [   74.874601] usbhid: USB HID core driver
    [   74.882285] usbcore: registered new interface driver usblp
    [   74.896536] usbcore: registered new interface driver usbserial```
    
    I was short on description of troubleshooting attempts already made, intentionally so as the system can't even be reflashed, so they may be irrelevant.  However I'm all ears with regard to suggestions.
    
    Thanks for looking!
    Bill


  • Is anyone able to tell me that the seg fault demonstrated here is --or-- is not evidence of a failed flash device? It appears, but I'm not sure, this is an unrecoverable situation.

    Thanks!
    Bill



  • hi, can't answer your specific questions but if faced with the same dilemma i would try the usb recovery flash method to determine if that process gave similar results.



  • @Douglas-Kryder Will do!

    Thanks!
    Bill



  • @Douglas-Kryder That did the trick! As I was thinking flash failure it didn't even occur to me to try the USB method. It works!

    Now, any ideas about fixing a unit that won't power up in the exact same working dock? ;^)

    --Bill



  • probably try a power up via direct connection to pins. absent any activity that way i may try a power applied shorting of pins but if nothing lights up i'd consider it dead for the moment as at that point i'd guess i'd need to remove the shield and trace to the point that applied power stops on the circuit. in any event these things, as well as all electronic devices and humans/animals/plants do eventually die. :) good luck.



  • @Douglas-Kryder I'll likely try that. Another baffling point is does indeed power up in a breadboard dock.

    thanks!!
    Bill





  • @William-Scott i did not remember that from original post. are you sure that the omega2 is inserted correctly in the dock giving you issues? reason i ask is i swap out of docks frequently and some times find myself getting it wrong way or a set of pins not in socket. other than that i haven't a clue as to why this would happen.



  • @ccs-hello Excellent point. The baffling facts are these. Background: Expansion Dock is powered via USB cable from a laptop. Facts: Several other O2+ units work flawlessly in this configuration (same dock). The suspect unit does not power up (only going by LED; will probe with multimeter or scope later). Two Expansion Docks were employed with identical results. The same voltage regulator, obviously, is providing 3.3vdc to any unit in that dock. When placed in Breadboard Dock the meter integrated into a nice power supply (read ~$1,100 worth of power supply) is reading 3.300vdc.

    The laptop --> USB --> Expansion Dock is perfect for five O2+ devices and troublesome for one.

    So, I'm still short a measurement or two, but hopefully later today.

    thanks!!
    Bill



  • @Douglas-Kryder Good point! I'm hyper vigilant about that. I have several units on the bench and always look around for a working model to prevent reverse insertion. The pins are all pristine and there has not been an accidental pin offset. This is through several cycles of dock and O2+ swapping. Huh!

    thanks!!
    Bill



  • @Douglas-Kryder @ccs-hello One more point. I've not yet metered the O2+ in the troubled dock configuration. Have only "known" lack of power up by lack of LED, basically not knowing all of the facts. Just got out a USB-LVTTL converter. Will connect later today to tty0 in breadboard dock to see if I can reflash. If so, the O2+ device may emerge from some hosed up state that prevents full boot, or perhaps even continuation past very early boot, to come up in a healthy state that will work in all configs.

    --Bill



Looks like your connection to Community was lost, please wait while we try to reconnect.