ssh sessions close spontaneously on rpi2 [Also: I got a rpi2 'Translation Fault (L1)' crash that I also report here, -r325700 based context]

Mark Millard markmi at dsl-only.net
Sun Nov 19 08:15:55 UTC 2017


Do you get any messages like:

smsc0: warning: Failed to read register 0x114
smsc0: warning: MII is busy
. . .
smsc0: warning: Failed to write register 0x114
. . .
smsc0: warning: Failed to read register 0x118
smsc0: warning: Failed to read register 0x114
smsc0: warning: MII is busy
. . .
smsc0: warning: Failed to read register 0x114
smsc0: warning: MII read timeout


I am seeing these while a svnlite update is going
against the mmcsd0 and a portmaster build of
pkg is going against a USB SSD. (The active root
file system is on the USB SSD.)

[Later. . .]
The ssh session that was running the svnlite
update eventually got:

packet_write_wait: Connection to 192.168.1.112 port 22: Broken pipe

[Process completed]



Another ssh session (idle sitting at a prompt) was still working
after that.

The portmaster build of pkg was via the serial
console instead of via ethernet and ssh.


For reference:

smsc0 on uhub1
smsc0: <vendor 0x0424 product 0xec00, rev 2.00/2.00, addr 3> on usbus0
smsc0: chip 0xec00, rev. 0002
miibus0: <MII bus> on smsc0
smscphy0: <SMC LAN8700 10/100 interface> PHY 1 on miibus0
smscphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
. . .
smsc0: chip 0xec00, rev. 0002




[Even later:]

Eventually the rpi2 crashed with:

slot0: Controller timeout
sdhci_bcm0-slot0: ============== REGISTER DUMP ==============
sdhci_bcm0-slot0: Sys addr: 0x36003200 | Version:  0x00009902
sdhci_bcm0-slot0: Blk size: 0x00000200 | Blk cnt:  0x0000003f
sdhci_bcm0-slot0: Argument: 0x01163b00 | Trn mode: 0x0000193a
sdhci_bcm0-slot0: Present:  0x01ff0506 | Host ctl: 0x00000003
sdhci_bcm0-slot0: Power:    0x0000000f | Blk gap:  0x00000000
sdhci_bcm0-slot0: Wake-up:  0x00000000 | Clock:    0x00000307
sdhci_bcm0-slot0: Timeout:  0x0000000e | Int stat: 0x00000010
sdhci_bcm0-slot0: Int enab: 0x01ff00bb | Sig enab: 0x01ff0089
sdhci_bcm0-slot0: AC12 err: 0x00000000 | Host ctl2:0x00000000
sdhci_bcm0-slot0: Caps:     0x00000000 | Caps2:    0x00000000
sdhci_bcm0-slot0: Max curr: 0x00000001 | ADMA err: 0x00000000
sdhci_bcm0-slot0: ADMA addr:0x00000000 | Slot int: 0x00000000
sdhci_bcm0-slot0: ===========================================
Fatal kernel mode data abort: 'Translation Fault (L1)' on read
trapframe: 0xe4cd1cf8
FSR=00000005, FAR=00000024, spsr=60000013
r0 =c3885c00, r1 =c3880780, r2 =00000000, r3 =00000000
r4 =c3a5c600, r5 =c388e648, r6 =00000001, r7 =c3a5c630
r8 =c0869490, r9 =c086a828, r10=c388e600, r11=e4cd1db0
r12=00000029, ssp=e4cd1d88, slr=c027895c, pc =c062eaf4

[ thread pid 11 tid 100035 ]
Stopped at      bcm_sdhci_dma_intr+0xb8:        ldr     r2, [r2, #0x024]
db> bt
Tracing pid 11 tid 100035 td 0xc39a6740
db_trace_self() at db_trace_self
         pc = 0xc05c6d24  lr = 0xc005eab4 (db_stack_trace+0x108)
         sp = 0xe4cd1a08  fp = 0xe4cd1a20
db_stack_trace() at db_stack_trace+0x108
         pc = 0xc005eab4  lr = 0xc005e714 (db_command+0x268)
         sp = 0xe4cd1a28  fp = 0xe4cd1ac8
         r4 = 0x00000001  r5 = 0x00000000
         r6 = 0xc0734fef r10 = 0x00000000
db_command() at db_command+0x268
         pc = 0xc005e714  lr = 0xc005e49c (db_command_loop+0x74)
         sp = 0xe4cd1ad0  fp = 0xe4cd1ae0
         r4 = 0xc06e9458  r5 = 0xc071184e
         r6 = 0xc099cfa4  r7 = 0xe4cd1cf8
         r8 = 0xc07fcb38  r9 = 0xc086a860
        r10 = 0xc098bcd0
db_command_loop() at db_command_loop+0x74
         pc = 0xc005e49c  lr = 0xc0061f24 (db_trap+0x12c)
         sp = 0xe4cd1ae8  fp = 0xe4cd1c00
         r4 = 0x00000000  r5 = 0xc099cfb0
         r6 = 0xc098bcf0 r10 = 0xc098bcd0
db_trap() at db_trap+0x12c
         pc = 0xc0061f24  lr = 0xc02e27a8 (kdb_trap+0x16c)
         sp = 0xe4cd1c08  fp = 0xe4cd1c30
         r4 = 0x00000000  r5 = 0x00000005
         r6 = 0xc098bcf0  r7 = 0xe4cd1cf8
kdb_trap() at kdb_trap+0x16c
         pc = 0xc02e27a8  lr = 0xc05ea50c (abort_fatal+0x20c)
         sp = 0xe4cd1c38  fp = 0xe4cd1c58
         r4 = 0xe4cd1cf8  r5 = 0x00000013
         r6 = 0x00000024  r7 = 0x00000005
         r8 = 0x00000005  r9 = 0xc39a6740
        r10 = 0xe4cd1cf8
abort_fatal() at abort_fatal+0x20c
         pc = 0xc05ea50c  lr = 0xc05ea170 (abort_handler+0x318)
         sp = 0xe4cd1c60  fp = 0xe4cd1cf0
         r4 = 0x00000005  r5 = 0x00000005
         r6 = 0x00000000  r7 = 0x00000005
         r8 = 0x00000013 r10 = 0xe4cd1cf8
abort_handler() at abort_handler+0x318
         pc = 0xc05ea170  lr = 0xc05c9720 (exception_exit)
         sp = 0xe4cd1cf8  fp = 0xe4cd1db0
         r4 = 0xc3a5c600  r5 = 0xc388e648
         r6 = 0x00000001  r7 = 0xc3a5c630
         r8 = 0xc0869490  r9 = 0xc086a828
        r10 = 0xc388e600
exception_exit() at exception_exit
         pc = 0xc05c9720  lr = 0xc027895c (__mtx_lock_sleep+0x1ec)
         sp = 0xe4cd1d88  fp = 0xe4cd1db0
         r0 = 0xc3885c00  r1 = 0xc3880780
         r2 = 0x00000000  r3 = 0x00000000
         r4 = 0xc3a5c600  r5 = 0xc388e648
         r6 = 0x00000001  r7 = 0xc3a5c630
         r8 = 0xc0869490  r9 = 0xc086a828
        r10 = 0xc388e600 r12 = 0x00000029
bcm_sdhci_dma_intr() at bcm_sdhci_dma_intr+0xb8
         pc = 0xc062eaf4  lr = 0xc02594c4 (intr_event_execute_handlers+0x118)
         sp = 0xe4cd1db8  fp = 0xe4cd1dd8
         r4 = 0xc38faee0  r5 = 0xc388e648
         r6 = 0x00000000  r7 = 0xc389b840
         r8 = 0xc0869490  r9 = 0xc086a828
        r10 = 0xc388e600
intr_event_execute_handlers() at intr_event_execute_handlers+0x118
         pc = 0xc02594c4  lr = 0xc0259c20 (ithread_loop+0x15c)
         sp = 0xe4cd1de0  fp = 0xe4cd1e18
         r4 = 0xc38faee0  r5 = 0xc388e670
         r6 = 0xc388e600  r7 = 0xc388e610
         r8 = 0xc38faeec  r9 = 0xc0828ba0
        r10 = 0x00000000
ithread_loop() at ithread_loop+0x15c
         pc = 0xc0259c20  lr = 0xc0255e20 (fork_exit+0xc0)
         sp = 0xe4cd1e20  fp = 0xe4cd1e40
         r4 = 0xc39a6740  r5 = 0xc38b3730
         r6 = 0xc0259ac4  r7 = 0xc38faee0
         r8 = 0xe4cd1e48  r9 = 0x00000000
        r10 = 0x00000000
fork_exit() at fork_exit+0xc0
         pc = 0xc0255e20  lr = 0xc05c96b0 (swi_exit)
         sp = 0xe4cd1e48  fp = 0x00000000
         r4 = 0xc0259ac4  r5 = 0xc38faee0
         r6 = 0x00000000  r7 = 0x00000000
         r8 = 0x00000000 r10 = 0x00000000
swi_exit() at swi_exit
         pc = 0xc05c96b0  lr = 0xc05c96b0 (swi_exit)
         sp = 0xe4cd1e48  fp = 0x00000000
db> 




I notice during boot I get:

Booting [/boot/kernel/kernel]...               
/boot/dtb/bcm2836-rpi-2-b.dtb size=0x346b
Loaded DTB from file 'bcm2836-rpi-2-b.dtb'.

That last seems to indicate that the DTB
is from FreeBSD instead of from the rpi-firmware
or u-boot-rpi2 in my context.


For reference:

U-Boot 2017.09 (Nov 18 2017 - 07:51:46 +0000)

DRAM:  960 MiB
RPI 2 Model B (0xa21041)
MMC:   sdhci at 7e300000: 0
. . .

Compatible U-Boot API signature found @0x3bb5d988

FreeBSD/armv7 U-Boot loader, Revision 1.2

DRAM: 960MB
Number of U-Boot devices: 2
U-Boot env: loaderdev not set, will probe all devices.
Found U-Boot device: disk
  Probing all disk devices...
  Checking unit=0 slice=<auto> partition=<auto>... good.
Booting from disk0p1:
/boot/kernel/kernel data=0x87035c+0x183ca4 syms=[0x4+0x93890+0x4+0xd7368]
/boot/kernel/geom_label.ko text=0x47b8 data=0x868+0x4 syms=[0x4+0xd90+0x4+0xfb6]



===
Mark Millard
markmi at dsl-only.net



More information about the freebsd-arm mailing list