FreeBSD 9.0-RC1 boots into Multiuser on DockStar. A few seconds of disk I/O on USB mass storage devices later "USB error: address decoding error (addr=$HEX)" floods the RS232 console. They are stop as soon as all disk I/O is stopped. syslogd turns this into a feedback loop. (Nearly?) each log write results in new log messages. A "portsnap fetch" is enough on a fresh installation triggered the panic below. console: fb9ds# portsnap fetch Looking up portsnap.FreeBSD.org mirrors... 5 mirrors found. Fetching snapshot tag from portsnap5.FreeBSD.org... done. Fetching snapshot metadata... done. Fetching snapshot generated at Sat Oct 29 00:11:11 UTC 2011: 0e7e93882dbe7d6994a5598cd1cb310ecc53958054d3df100% of 64 MB 778 kBps 00m00s Extracting snapshot... done. Verifying snapshot integrity... backtrace: db> bt Tracing pid 42848 tid 100070 td 0xc23ae000 kdb_enter() at kdb_enter+0x14 scp=0xc0a68174 rlv=0xc0a3da34 (panic+0xa0) rsp=0xc85129e0 rfp=0xc85129f4 r5=0xc0c4933c r4=0x00000100 panic() at panic+0x1c scp=0xc0a3d9b0 rlv=0xc0a75480 (turnstile_claim+0x204) rsp=0xc8512a08 rfp=0xc8512a20 turnstile_claim() at turnstile_claim+0x104 scp=0xc0a75380 rlv=0xc0a75608 (turnstile_wait+0x17c) rsp=0xc8512a24 rfp=0xc8512a48 r6=0xc182e2a0 r5=0xc23ae000 r4=0x00000000 turnstile_wait() at turnstile_wait+0x14 scp=0xc0a754a0 rlv=0xc0a30848 (_mtx_lock_sleep+0xbc) rsp=0xc8512a4c rfp=0xc8512a64 r10=0xc21a4990 r8=0x00000000 r7=0x00000000 r6=0xc23ae000 r5=0xc182e2a0 r4=0xc0d14780 _mtx_lock_sleep() at _mtx_lock_sleep+0x14 scp=0xc0a307a0 rlv=0xc0a30900 (_mtx_lock_flags+0x74) rsp=0xc8512a68 rfp=0xc8512a84 r6=0xc0d200c0 r5=0x00000000 r4=0x00000000 _mtx_lock_flags() at _mtx_lock_flags+0x10 scp=0xc0a3089c rlv=0xc0bd5a3c (vm_fault_hold+0x1548) rsp=0xc8512a88 rfp=0xc8512bb0 r6=0x0000029c r5=0x00000000 r4=0x0029c000 vm_fault_hold() at vm_fault_hold+0x10 scp=0xc0bd4504 rlv=0xc0bd6080 (vm_fault+0x38) rsp=0xc8512bb4 rfp=0xc8512bc8 r10=0x00000002 r9=0xc8512ef8 r8=0xc8512c70 r7=0xc23ae000 r6=0x20405000 r5=0x00000000 r4=0x00000002 vm_fault() at vm_fault+0x10 scp=0xc0bd6058 rlv=0xc0c02490 (data_abort_handler+0x1e8) rsp=0xc8512bcc rfp=0xc8512c6c r4=0xc23a3360 data_abort_handler() at data_abort_handler+0x10 scp=0xc0c022b8 rlv=0xc0bf4b38 (address_exception_entry+0x50) rsp=0xc8512c70 rfp=0x00000000 r10=0xc8512ef8 r9=0x00000000 r8=0x00000000 r7=0x00000000 r6=0x00000000 r5=0xffff1004 r4=0x656b614d dmesg.boot (after a reboot): KDB: debugger backends: ddb KDB: current backend: ddb Copyright (c) 1992-2011 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 9.0-RC1 #5: Sat Oct 29 19:57:58 CEST 2011 root@t420.crest.dn42:/usr/obj/arm.arm/usr/src/sys/DOCKSTAR arm CPU: Feroceon 88FR131 rev 1 (Marvell core) DC enabled IC enabled WB enabled EABT branch prediction enabled 16KB/32B 4-way Instruction cache 16KB/32B 4-way write-back-locking-C Data cache real memory = 134217728 (128 MB) avail memory = 125227008 (119 MB) SOC: Marvell 88F6281 rev A0, TClock 200MHz simplebus0: <Flattened device tree simple bus> on fdtbus0 ic0: <Marvell Integrated Interrupt Controller> mem 0xf1020200-0xf102023b on simplebus0 timer0: <Marvell CPU Timer> mem 0xf1020300-0xf102032f irq 1 on simplebus0 Event timer "CPUTimer0" frequency 200000000 Hz quality 1000 Timecounter "CPUTimer1" frequency 200000000 Hz quality 1000 gpio0: <Marvell Integrated GPIO Controller> mem 0xf1010100-0xf101011f irq 35,36,37,38,39,40,41 on simplebus0 rtc0: <Marvell Integrated RTC> mem 0xf1010300-0xf1010307 on simplebus0 mge0: <Marvell Gigabit Ethernet controller> mem 0xf1072000-0xf1073fff irq 12,13,14,11,46 on simpl ebus0 mge0: Ethernet address: 02:50:43:91:f7:ea miibus0: <MII bus> on mge0 ukphy0: <Generic IEEE 802.3u media interface> PHY 0 on miibus0 ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000b aseT-FDX, 1000baseT-FDX-master, auto uart0: <16550 or compatible> mem 0xf1012000-0xf101201f irq 33 on simplebus0 uart0: console (1056,n,8,1) uart1: <16550 or compatible> mem 0xf1012100-0xf101211f irq 34 on simplebus0 ehci0: <Marvell Integrated USB 2.0 controller> mem 0xf1050000-0xf1050fff irq 48,19 on simplebus0 usbus0: EHCI version 1.0 usbus0: set host controller mode usbus0: <Marvell Integrated USB 2.0 controller> on ehci0 cryptosoft0: <software crypto> on motherboard Timecounters tick every 1.000 msec IPsec: Initialized Security Association Processing. ipfw2 (+ipv6) initialized, divert enabled, nat loadable, rule-based forwarding enabled, default t o accept, logging disabled DUMMYNET 0 with IPv6 initialized (100409) load_dn_sched dn_sched FIFO loaded load_dn_sched dn_sched PRIO loaded load_dn_sched dn_sched QFQ loaded load_dn_sched dn_sched RR loaded load_dn_sched dn_sched WF2Q+ loaded usbus0: 480Mbps High Speed USB v2.0 Root mount waiting for: usbus0 ugen0.1: <Marvell> at usbus0 uhub0: <Marvell EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0 uhub0: 1 port with 1 removable, self powered Root mount waiting for: usbus0 ugen0.2: <vendor 0x05e3> at usbus0 uhub1: <vendor 0x05e3 USB2.0 Hub, class 9/0, rev 2.00/6.03, addr 2> on usbus0 Root mount waiting for: usbus0 uhub1: 4 ports with 4 removable, self powered Root mount waiting for: usbus0 ugen0.3: <SMI Corporation> at usbus0 umass0: <SMI Corporation USB DISK, class 0/0, rev 2.00/11.00, addr 3> on usbus0 da0 at umass-sim0 bus 0 scbus0 target 0 lun 0 da0: <USB Stick 2.0 ME 1100> Removable Direct Access SCSI-0 device da0: 40.000MB/s transfers da0: 1912MB (3915776 512 byte sectors: 255H 63S/T 243C) ugen0.4: <vendor 0x0d8c> at usbus0 uaudio0: <vendor 0x0d8c C-Media USB Headphone Set, class 0/0, rev 1.10/1.00, addr 4> on usbus0 uaudio0: Play: 48000 Hz, 2 ch, 16-bit S-LE PCM format uaudio0: Record: 48000 Hz, 1 ch, 16-bit S-LE PCM format uaudio0: No midi sequencer pcm0: <USB audio> on uaudio0 Trying to mount root from ufs:/dev/ufs/root []... WARNING: / was not properly dismounted dmesg (problem reappears after a few seconds): USB error: address decoding error (addr=0x4190200) USB error: address decoding error (addr=0x4191000) USB error: address decoding error (addr=0x41981c0) USB error: address decoding error (addr=0x4199000) USB error: address decoding error (addr=0x41a0200) USB error: address decoding error (addr=0x41a1000) USB error: address decoding error (addr=0x41a8000) USB error: address decoding error (addr=0x41a9000) USB error: address decoding error (addr=0x41b0200) USB error: address decoding error (addr=0x41b1000) USB error: address decoding error (addr=0x41b8000) USB error: address decoding error (addr=0x41b9000) USB error: address decoding error (addr=0x41c0000) USB error: address decoding error (addr=0x41c1000) USB error: address decoding error (addr=0x41c8200) USB error: address decoding error (addr=0x41c9000) USB error: address decoding error (addr=0x41ca000) USB error: address decoding error (addr=0x41d11c0) USB error: address decoding error (addr=0x41d2000) USB error: address decoding error (addr=0x41d9100) USB error: address decoding error (addr=0x41c9000) USB error: address decoding error (addr=0x41c9000) ... more of the same format (/usr/src/sys/dev/usb/controller/ehci_mv.c kernel config: # # Custom kernel for Seagate DockStar (Marvell SheevaPlug based) devices. # # $FreeBSD: stable/9/sys/arm/conf/DOCKSTAR 224699 2011-08-07 20:16:46Z rmacklem $ # ident DOCKSTAR include "../mv/kirkwood/std.sheevaplug" options SOC_MV_KIRKWOOD makeoptions MODULES_OVERRIDE="" #makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols makeoptions WERROR="-Werror" options SCHED_4BSD #4BSD scheduler options INET #InterNETworking options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem options NFSCL #New Network Filesystem Client options NFSLOCKD #Network Lock Manager options NFS_ROOT #NFS usable as /, requires NFSCL #options BOOTP #options BOOTP_NFSROOT #options BOOTP_NFSV3 #options BOOTP_COMPAT #options BOOTP_WIRED_TO=mge0 # Root fs on USB device options ROOTDEVNAME=\"ufs:/dev/ufs/root\" options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions options MUTEX_NOINLINE options RWLOCK_NOINLINE options NO_FFS_SNAPSHOT options NO_SWAPPING # Debugging options ALT_BREAK_TO_DEBUGGER options DDB options KDB # Pseudo devices device md device random device pty device loop # Serial ports device uart # Networking device ether device mge # Marvell Gigabit Ethernet controller device mii device bpf options HZ=1000 options DEVICE_POLLING device vlan # USB #options USB_DEBUG # enable debug msgs device usb device ehci device uhci device ohci device umass device scbus device pass device da # Flattened Device Tree options FDT options FDT_DTB_STATIC makeoptions FDT_DTS_FILE=dockstar.dts # Crypto device crypto options KGSSAPI # IPSec device enc options IPSEC options IPSEC_NAT_T # Disk Encryption options GEOM_ELI # IPFW support options IPFIREWALL options IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_FORWARD options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT=100 options DUMMYNET options IPDIVERT # Partition support options GEOM_PART_BSD options GEOM_PART_GPT options GEOM_PART_MBR options GEOM_LABEL # UFS options UFS_ACL options UFS_DIRHASH options SOFTUPDATES # FAT support options MSDOSFS # Misc FSs options PROCFS options PSEUDOFS # Sound device sound device snd_uaudio Fix: no known fix/workaround How-To-Repeat: cd /usr/src make buildworld buildkernel # tested on amd64 make buildworld buildkernel TARGET_ARCH=arm KERNCONF=DOCKSTAR gpart create -s mbr da0 # da0 is a umass dev gpart add -s 64M -t fat32 -i 1 && newfs_msdos -F 32 -L KERN da0s1 gpart add -t freebsd && newfs -jLroot mount -t msdosfs /dev/msdosfs/KERN # use jeff doozans u-boot to boot from fat32 cp /usr/obj/arm.arm/usr/src/sys/DOCKSTAR/kernel.bin /mnt umount /mnt mount /dev/ufs/root /mnt make installworld distribution TARGET_ARCH=arm DESTDIR=/mnt dd of=/mnt/etc/rc.conf <<EOF hostname="fb9ds.crest.dn42" ifconfig_mge0="DHCP" sshd_enable="YES" ntpdate_enable="YES" ntpd_enable="YES"
On Sunday 30 October 2011 00:42:41 Jan Bramkamp wrote: > >Number: 162159 > >Category: arm > >Synopsis: USB errors leading to panic on DockStar 9.0-RC1/arm > >Confidential: no > >Severity: critical > >Priority: low > >Responsible: freebsd-arm > >State: open > >Quarter: > >Keywords: > >Date-Required: > >Class: sw-bug > >Submitter-Id: current-users > >Arrival-Date: Sat Oct 29 22:50:07 UTC 2011 > >Closed-Date: > >Last-Modified: > >Originator: Jan Bramkamp > >Release: 9.0-RC1 r226591 > >Organization: > > >Environment: > FreeBSD fb9ds.crest.dn42 9.0-RC1 FreeBSD 9.0-RC1 #5: Sat Oct 29 19:57:58 C > EST 2011 root@t420.crest.dn42:/usr/obj/arm.arm/usr/src/sys/DOCKSTAR a > rm > > >Description: > FreeBSD 9.0-RC1 boots into Multiuser on DockStar. A few seconds of disk I/O > on USB mass storage devices later "USB error: address decoding error > (addr=$HEX)" floods the RS232 console. They are stop as soon as all disk > I/O is stopped. syslogd turns this into a feedback loop. (Nearly?) each > log write results in new log messages. A "portsnap fetch" is enough on a > fresh installation triggered the panic below. > > > console: > fb9ds# portsnap fetch > Looking up portsnap.FreeBSD.org mirrors... 5 mirrors found. > Fetching snapshot tag from portsnap5.FreeBSD.org... done. > Fetching snapshot metadata... done. > Fetching snapshot generated at Sat Oct 29 00:11:11 UTC 2011: > 0e7e93882dbe7d6994a5598cd1cb310ecc53958054d3df100% of 64 MB 778 kBps > 00m00s Extracting snapshot... done. > Verifying snapshot integrity... > > > backtrace: > db> bt > Tracing pid 42848 tid 100070 td 0xc23ae000 > kdb_enter() at kdb_enter+0x14 > scp=0xc0a68174 rlv=0xc0a3da34 (panic+0xa0) > rsp=0xc85129e0 rfp=0xc85129f4 > r5=0xc0c4933c r4=0x00000100 > panic() at panic+0x1c > scp=0xc0a3d9b0 rlv=0xc0a75480 (turnstile_claim+0x204) > rsp=0xc8512a08 rfp=0xc8512a20 > turnstile_claim() at turnstile_claim+0x104 > scp=0xc0a75380 rlv=0xc0a75608 (turnstile_wait+0x17c) > rsp=0xc8512a24 rfp=0xc8512a48 > r6=0xc182e2a0 r5=0xc23ae000 > r4=0x00000000 > turnstile_wait() at turnstile_wait+0x14 > scp=0xc0a754a0 rlv=0xc0a30848 (_mtx_lock_sleep+0xbc) > rsp=0xc8512a4c rfp=0xc8512a64 > r10=0xc21a4990 r8=0x00000000 > r7=0x00000000 r6=0xc23ae000 r5=0xc182e2a0 r4=0xc0d14780 > _mtx_lock_sleep() at _mtx_lock_sleep+0x14 > scp=0xc0a307a0 rlv=0xc0a30900 (_mtx_lock_flags+0x74) > rsp=0xc8512a68 rfp=0xc8512a84 > r6=0xc0d200c0 r5=0x00000000 > r4=0x00000000 > _mtx_lock_flags() at _mtx_lock_flags+0x10 > scp=0xc0a3089c rlv=0xc0bd5a3c (vm_fault_hold+0x1548) > rsp=0xc8512a88 rfp=0xc8512bb0 > r6=0x0000029c r5=0x00000000 > r4=0x0029c000 > vm_fault_hold() at vm_fault_hold+0x10 > scp=0xc0bd4504 rlv=0xc0bd6080 (vm_fault+0x38) > rsp=0xc8512bb4 rfp=0xc8512bc8 > r10=0x00000002 r9=0xc8512ef8 > r8=0xc8512c70 r7=0xc23ae000 r6=0x20405000 r5=0x00000000 > r4=0x00000002 > vm_fault() at vm_fault+0x10 > scp=0xc0bd6058 rlv=0xc0c02490 (data_abort_handler+0x1e8) > rsp=0xc8512bcc rfp=0xc8512c6c > r4=0xc23a3360 > data_abort_handler() at data_abort_handler+0x10 > scp=0xc0c022b8 rlv=0xc0bf4b38 (address_exception_entry+0x50) > rsp=0xc8512c70 rfp=0x00000000 > r10=0xc8512ef8 r9=0x00000000 > r8=0x00000000 r7=0x00000000 r6=0x00000000 r5=0xffff1004 > r4=0x656b614d > > dmesg.boot (after a reboot): > > KDB: debugger backends: ddb > KDB: current backend: ddb > Copyright (c) 1992-2011 The FreeBSD Project. > Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 > The Regents of the University of California. All rights reserved. > FreeBSD is a registered trademark of The FreeBSD Foundation. > FreeBSD 9.0-RC1 #5: Sat Oct 29 19:57:58 CEST 2011 > root@t420.crest.dn42:/usr/obj/arm.arm/usr/src/sys/DOCKSTAR arm > CPU: Feroceon 88FR131 rev 1 (Marvell core) > DC enabled IC enabled WB enabled EABT branch prediction enabled > 16KB/32B 4-way Instruction cache > 16KB/32B 4-way write-back-locking-C Data cache > real memory = 134217728 (128 MB) > avail memory = 125227008 (119 MB) > SOC: Marvell 88F6281 rev A0, TClock 200MHz > simplebus0: <Flattened device tree simple bus> on fdtbus0 > ic0: <Marvell Integrated Interrupt Controller> mem 0xf1020200-0xf102023b > on simplebus0 timer0: <Marvell CPU Timer> mem 0xf1020300-0xf102032f irq 1 > on simplebus0 Event timer "CPUTimer0" frequency 200000000 Hz quality 1000 > Timecounter "CPUTimer1" frequency 200000000 Hz quality 1000 > gpio0: <Marvell Integrated GPIO Controller> mem 0xf1010100-0xf101011f irq > 35,36,37,38,39,40,41 on simplebus0 rtc0: <Marvell Integrated RTC> mem > 0xf1010300-0xf1010307 on simplebus0 mge0: <Marvell Gigabit Ethernet > controller> mem 0xf1072000-0xf1073fff irq 12,13,14,11,46 on simpl ebus0 > mge0: Ethernet address: 02:50:43:91:f7:ea > miibus0: <MII bus> on mge0 > ukphy0: <Generic IEEE 802.3u media interface> PHY 0 on miibus0 > ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, > 1000baseT-master, 1000b aseT-FDX, 1000baseT-FDX-master, auto uart0: <16550 > or compatible> mem 0xf1012000-0xf101201f irq 33 on simplebus0 uart0: > console (1056,n,8,1) > uart1: <16550 or compatible> mem 0xf1012100-0xf101211f irq 34 on > simplebus0 ehci0: <Marvell Integrated USB 2.0 controller> mem > 0xf1050000-0xf1050fff irq 48,19 on simplebus0 usbus0: EHCI version 1.0 > usbus0: set host controller mode > usbus0: <Marvell Integrated USB 2.0 controller> on ehci0 > cryptosoft0: <software crypto> on motherboard > Timecounters tick every 1.000 msec > IPsec: Initialized Security Association Processing. > ipfw2 (+ipv6) initialized, divert enabled, nat loadable, rule-based > forwarding enabled, default t o accept, logging disabled DUMMYNET 0 with > IPv6 initialized (100409) > load_dn_sched dn_sched FIFO loaded > load_dn_sched dn_sched PRIO loaded > load_dn_sched dn_sched QFQ loaded > load_dn_sched dn_sched RR loaded > load_dn_sched dn_sched WF2Q+ loaded > usbus0: 480Mbps High Speed USB v2.0 > Root mount waiting for: usbus0 > ugen0.1: <Marvell> at usbus0 > uhub0: <Marvell EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0 > uhub0: 1 port with 1 removable, self powered > Root mount waiting for: usbus0 > ugen0.2: <vendor 0x05e3> at usbus0 > uhub1: <vendor 0x05e3 USB2.0 Hub, class 9/0, rev 2.00/6.03, addr 2> on > usbus0 > > Root mount waiting for: usbus0 > uhub1: 4 ports with 4 removable, self powered > Root mount waiting for: usbus0 > ugen0.3: <SMI Corporation> at usbus0 > umass0: <SMI Corporation USB DISK, class 0/0, rev 2.00/11.00, addr 3> on > usbus0 da0 at umass-sim0 bus 0 scbus0 target 0 lun 0 > da0: <USB Stick 2.0 ME 1100> Removable Direct Access SCSI-0 device > da0: 40.000MB/s transfers > da0: 1912MB (3915776 512 byte sectors: 255H 63S/T 243C) > ugen0.4: <vendor 0x0d8c> at usbus0 > uaudio0: <vendor 0x0d8c C-Media USB Headphone Set, class 0/0, rev > 1.10/1.00, addr 4> on usbus0 uaudio0: Play: 48000 Hz, 2 ch, 16-bit S-LE > PCM format > uaudio0: Record: 48000 Hz, 1 ch, 16-bit S-LE PCM format > uaudio0: No midi sequencer > pcm0: <USB audio> on uaudio0 > Trying to mount root from ufs:/dev/ufs/root []... > WARNING: / was not properly dismounted > > dmesg (problem reappears after a few seconds): > USB error: address decoding error (addr=0x4190200) > USB error: address decoding error (addr=0x4191000) > USB error: address decoding error (addr=0x41981c0) > USB error: address decoding error (addr=0x4199000) > USB error: address decoding error (addr=0x41a0200) > USB error: address decoding error (addr=0x41a1000) > USB error: address decoding error (addr=0x41a8000) > USB error: address decoding error (addr=0x41a9000) > USB error: address decoding error (addr=0x41b0200) > USB error: address decoding error (addr=0x41b1000) > USB error: address decoding error (addr=0x41b8000) > USB error: address decoding error (addr=0x41b9000) > USB error: address decoding error (addr=0x41c0000) > USB error: address decoding error (addr=0x41c1000) > USB error: address decoding error (addr=0x41c8200) > USB error: address decoding error (addr=0x41c9000) > USB error: address decoding error (addr=0x41ca000) > USB error: address decoding error (addr=0x41d11c0) > USB error: address decoding error (addr=0x41d2000) > USB error: address decoding error (addr=0x41d9100) > USB error: address decoding error (addr=0x41c9000) > USB error: address decoding error (addr=0x41c9000) > ... more of the same format (/usr/src/sys/dev/usb/controller/ehci_mv.c > > kernel config: > # > # Custom kernel for Seagate DockStar (Marvell SheevaPlug based) devices. > # > # $FreeBSD: stable/9/sys/arm/conf/DOCKSTAR 224699 2011-08-07 20:16:46Z > rmacklem $ # > > ident DOCKSTAR > include "../mv/kirkwood/std.sheevaplug" > > options SOC_MV_KIRKWOOD > makeoptions MODULES_OVERRIDE="" > > #makeoptions DEBUG=-g #Build kernel with gdb(1) debug > symbols makeoptions WERROR="-Werror" > > options SCHED_4BSD #4BSD scheduler > options INET #InterNETworking > options INET6 #IPv6 communications protocols > options FFS #Berkeley Fast Filesystem > options NFSCL #New Network Filesystem Client > options NFSLOCKD #Network Lock Manager > options NFS_ROOT #NFS usable as /, requires NFSCL > #options BOOTP > #options BOOTP_NFSROOT > #options BOOTP_NFSV3 > #options BOOTP_COMPAT > #options BOOTP_WIRED_TO=mge0 > > # Root fs on USB device > options ROOTDEVNAME=\"ufs:/dev/ufs/root\" > > options SYSVSHM #SYSV-style shared memory > options SYSVMSG #SYSV-style message queues > options SYSVSEM #SYSV-style semaphores > options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time > extensions options MUTEX_NOINLINE > options RWLOCK_NOINLINE > options NO_FFS_SNAPSHOT > options NO_SWAPPING > > # Debugging > options ALT_BREAK_TO_DEBUGGER > options DDB > options KDB > > # Pseudo devices > device md > device random > device pty > device loop > > # Serial ports > device uart > > # Networking > device ether > device mge # Marvell Gigabit Ethernet > controller device mii > device bpf > options HZ=1000 > options DEVICE_POLLING > device vlan > > # USB > #options USB_DEBUG # enable debug msgs > device usb > device ehci > device uhci > device ohci > device umass > device scbus > device pass > device da > > # Flattened Device Tree > options FDT > options FDT_DTB_STATIC > makeoptions FDT_DTS_FILE=dockstar.dts > > # Crypto > device crypto > options KGSSAPI > > # IPSec > device enc > options IPSEC > options IPSEC_NAT_T > > # Disk Encryption > options GEOM_ELI > > # IPFW support > options IPFIREWALL > options IPFIREWALL_DEFAULT_TO_ACCEPT > options IPFIREWALL_FORWARD > options IPFIREWALL_VERBOSE > options IPFIREWALL_VERBOSE_LIMIT=100 > options DUMMYNET > options IPDIVERT > > # Partition support > options GEOM_PART_BSD > options GEOM_PART_GPT > options GEOM_PART_MBR > options GEOM_LABEL > > # UFS > options UFS_ACL > options UFS_DIRHASH > options SOFTUPDATES > > # FAT support > options MSDOSFS > > # Misc FSs > options PROCFS > options PSEUDOFS > > # Sound > device sound > device snd_uaudio > > >How-To-Repeat: > cd /usr/src > make buildworld buildkernel # tested on amd64 > make buildworld buildkernel TARGET_ARCH=arm KERNCONF=DOCKSTAR > gpart create -s mbr da0 # da0 is a umass dev > gpart add -s 64M -t fat32 -i 1 && newfs_msdos -F 32 -L KERN da0s1 > gpart add -t freebsd && newfs -jLroot > mount -t msdosfs /dev/msdosfs/KERN # use jeff doozans u-boot to boot from > fat32 cp /usr/obj/arm.arm/usr/src/sys/DOCKSTAR/kernel.bin /mnt > umount /mnt > mount /dev/ufs/root /mnt > make installworld distribution TARGET_ARCH=arm DESTDIR=/mnt > dd of=/mnt/etc/rc.conf <<EOF > hostname="fb9ds.crest.dn42" > ifconfig_mge0="DHCP" > sshd_enable="YES" > ntpdate_enable="YES" > ntpd_enable="YES" > > >Fix: > no known fix/workaround > > >Release-Note: > >Audit-Trail: > > > >Unformatted: > >>EOF > > echo /dev/ufs/root / ufs rw,noatime,noclusterr,noclusterw 1 1 > >/mnt/etc/fstab umount /mnt > # insert usb stick/disk into dockstar, boot and start portsnap fetch > extract. Hi, This looks like an ARM specific error produced by: src/sys/dev/usb/controller/ehci_mbus.c --HPS
I am seeing something like this on a different ARM platform, but the USB code may be a cousin to the mv code. Do you still have this setup? Could you take to ethernet card out of the kernel - removing the ethernet helps in my case. Could a problem be tickled by interrupt handling? I did the following test: $ dd if=/dev/zero of=r0 bs=4096 count=16k $ od r0 0000000 000000 000000 000000 000000 000000 000000 000000 000000 * 400000000 $ cp r0 r1 ; cp r1 r2 ; cp r2 r3 ; cp r3 r4 ; cp r4 r5 ; cp r5 r6; diff r0 r6 Many time there is a corruption at about r2 or r3. If I take the ethernet card out of the kernel, the problem happens less often. I use zero because it is easy to see where things go wrong. If they are different, start doing "od" on the copied files see if you see 0x377 in the first corrupted file. --Mark.
Author: ian Date: Sun Jan 5 20:44:10 2014 New Revision: 260333 URL: http://svnweb.freebsd.org/changeset/base/260333 Log: Enable the cesa security/crypto device by providing the required property in the dts source, and adding the right devices to the kernel config. Also generally bring the kernel config into line with what we have for other Marvell/Kirkwood systems (add lots of useful devices and options). One particularly notable addition amongst the kernel config changes is USB_HOST_ALIGN=32, which may help eliminate data corruption on USB drives. PR: kern/181975 arm/162159 Modified: head/sys/arm/conf/DOCKSTAR head/sys/boot/fdt/dts/dockstar.dts Modified: head/sys/arm/conf/DOCKSTAR ============================================================================== --- head/sys/arm/conf/DOCKSTAR Sun Jan 5 20:33:44 2014 (r260332) +++ head/sys/arm/conf/DOCKSTAR Sun Jan 5 20:44:10 2014 (r260333) @@ -3,73 +3,165 @@ # # $FreeBSD$ # +# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# +# $FreeBSD$ +# ident DOCKSTAR + include "../mv/kirkwood/std.db88f6xxx" -options SOC_MV_KIRKWOOD +makeoptions FDT_DTS_FILE=dockstar.dts + makeoptions MODULES_OVERRIDE="" -#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols -makeoptions WERROR="-Werror" +options SOC_MV_KIRKWOOD options SCHED_4BSD #4BSD scheduler options INET #InterNETworking options INET6 #IPv6 communications protocols +options SOFTUPDATES +options CD9660 #ISO 9660 filesystem options FFS #Berkeley Fast Filesystem -options NFSCL #New Network Filesystem Client -options NFSLOCKD #Network Lock Manager -options NFS_ROOT #NFS usable as /, requires NFSCL -options BOOTP -options BOOTP_NFSROOT -options BOOTP_NFSV3 -options BOOTP_COMPAT -options BOOTP_WIRED_TO=mge0 - -# Root fs on USB device -#options ROOTDEVNAME=\"ufs:/dev/da0a\" - +options MSDOSFS #MS DOS File System (FAT, FAT32) +options NULLFS #NULL filesystem +options TMPFS #Efficient memory filesystem options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions -options MUTEX_NOINLINE -options RWLOCK_NOINLINE -options NO_FFS_SNAPSHOT -options NO_SWAPPING +options GEOM_ELI # Disk encryption. +options GEOM_LABEL # Providers labelization. +options GEOM_PART_GPT # GPT partitioning -# Debugging -options ALT_BREAK_TO_DEBUGGER -options DDB -options KDB +# Flattened Device Tree +device fdt +options FDT +options FDT_DTB_STATIC + +# Misc pseudo devices +device bpf #Required for DHCP +device faith #IPv6-to-IPv4 relaying (translation) +device firmware #firmware(9) required for USB wlan +device gif #IPv6 and IPv4 tunneling +device loop #Network loopback +device md #Memory/malloc disk +device pty #BSD-style compatibility pseudo ttys +device random #Entropy device +device tun #Packet tunnel. +device ether #Required for all ethernet devices +device vlan #802.1Q VLAN support +device wlan #802.11 WLAN support -# Pseudo devices -device md -device random -device loop +# cam support for umass and ahci +device scbus +device pass +device da # Serial ports device uart # Networking -device ether device mge # Marvell Gigabit Ethernet controller device mii -device bpf -options HZ=1000 -options DEVICE_POLLING -device vlan +device e1000phy # USB -options USB_DEBUG # enable debug msgs -device usb -device ehci -device umass -device scbus -device pass -device da +options USB_HOST_ALIGN=32 # Align DMA to cacheline +#options USB_DEBUG # Compile in USB debug support +device usb # Basic usb support +device ehci # USB host controller +device umass # Mass storage +device uhid # Human-interface devices +device rum # Ralink Technology RT2501USB wireless NICs +device uath # Atheros AR5523 wireless NICs +device ural # Ralink Technology RT2500USB wireless NICs +device zyd # ZyDAS zb1211/zb1211b wireless NICs +device urtw # Realtek RTL8187B/L USB +device upgt # Conexant/Intersil PrismGT SoftMAC USB +device u3g # USB-based 3G modems (Option, Huawei, Sierra) + +# I2C (TWSI) +device iic +device iicbus + +# Sound +device sound +device snd_uaudio + +#crypto +device cesa # Marvell security engine +device crypto +device cryptodev + +# IPSec +device enc +options IPSEC +options IPSEC_NAT_T +options TCP_SIGNATURE #include support for RFC 2385 + +# IPFW +options IPFIREWALL +options IPFIREWALL_DEFAULT_TO_ACCEPT +options IPFIREWALL_VERBOSE +options IPFIREWALL_VERBOSE_LIMIT=100 +options IPFIREWALL_NAT +options LIBALIAS +options DUMMYNET +options IPDIVERT + +#PF +device pf +device pflog +device pfsync + +# ALTQ, required for PF +options ALTQ # Basic ALTQ support +options ALTQ_CBQ # Class Based Queueing +options ALTQ_RED # Random Early Detection +options ALTQ_RIO # RED In/Out +options ALTQ_HFSC # Hierarchical Packet Scheduler +options ALTQ_CDNR # Traffic conditioner +options ALTQ_PRIQ # Priority Queueing +options ALTQ_NOPCC # Required if the TSC is unusable +#options ALTQ_DEBUG + +# Debugging +makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols +options BREAK_TO_DEBUGGER +options ALT_BREAK_TO_DEBUGGER +options DDB +options KDB +options DIAGNOSTIC +options INVARIANTS #Enable calls of extra sanity checking +options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS +#options WITNESS #Enable checks to detect deadlocks and cycles +#options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed +#options WITNESS_KDB + +# Enable these options for nfs root configured via BOOTP. +options NFSCL #Network Filesystem Client +options NFSLOCKD #Network Lock Manager +#options NFS_ROOT #NFS usable as /, requires NFSCLIENT +#options BOOTP +#options BOOTP_NFSROOT +#options BOOTP_NFSV3 +#options BOOTP_WIRED_TO=mge0 + +# If not using BOOTP, use something like one of these... +#options ROOTDEVNAME=\"ufs:/dev/da0a\" +options ROOTDEVNAME=\"ufs:/dev/da0s1a\" +#options ROOTDEVNAME=\"ufs:/dev/da0p10\" +#options ROOTDEVNAME=\"nfs:192.168.0.254/dreamplug\" -# Flattened Device Tree -options FDT -options FDT_DTB_STATIC -makeoptions FDT_DTS_FILE=dockstar.dts Modified: head/sys/boot/fdt/dts/dockstar.dts ============================================================================== --- head/sys/boot/fdt/dts/dockstar.dts Sun Jan 5 20:33:44 2014 (r260332) +++ head/sys/boot/fdt/dts/dockstar.dts Sun Jan 5 20:44:10 2014 (r260333) @@ -209,6 +209,8 @@ reg = <0x30000 0x10000>; interrupts = <22>; interrupt-parent = <&PIC>; + + sram-handle = <&SRAM>; }; usb@50000 { _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
For bugs matching the following criteria: Status: In Progress Changed: (is less than) 2014-06-01 Reset to default assignee and clear in-progress tags. Mail being skipped
Ian claimed to fix this in a commit message that sounds related. closing. If this is still an issue, please reopen this bug.