Date: Sat, 3 Jan 2015 00:54:58 -0800 From: Adrian Chadd <adrian@freebsd.org> To: ticso@cicely.de Cc: Bernd Walter <ticso@cicely7.cicely.de>, "freebsd-mips@freebsd.org" <freebsd-mips@freebsd.org> Subject: Re: USB stability problem on AR9331 with stable/10 Message-ID: <CAJ-VmokgPvoUftwPCg4%2B6VGkAFTz7Gi-%2BFFAQkQYO=NO2LssQg@mail.gmail.com> In-Reply-To: <20150103023713.GB3265@cicely7.cicely.de> References: <20150103023713.GB3265@cicely7.cicely.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi! Can you try FreeBSD-HEAD? See if it's more stable? There may be some USB PLL related stuff that isn't in stable/10. (I remember general USB instability on the AR933x chips that was finally resolved in ath9k/linux and I /think/ I ported it all to FreeBSD-HEAD.) -adrian On 2 January 2015 at 18:37, Bernd Walter <ticso@cicely7.cicely.de> wrote: > This happens on Carambola 2 as well as on a Dragino system. > Both are using the AR9331 SoC with 64MB RAM. > I'd used the freebsd-wifi-build-read-only build, but I'm not using > the memory disk setup, instead I'd setup rootfs on an USB stick. > Plus I use NFS for /usr/ports, /usr/obj, 256MB swapfile and /tmp > I'd tried different sticks with same result. > Under normal load everything seems to run fine. > No I want to install some ports - requiring ports-mgmt/pkg as > prerequisite, which is quite big to compile and at some > point the USB stick errors out. > > login: Jan 2 18:03:51 apx2 msu[831]: accepted ticso to root > (da0:umass-sim0:0:0:0): . CDB: 28 00 00 7c 3d 00 00 00 48 00 > (da0:umass-sim0:0:0:0): CAM status: CCB request completed with an error > (da0:umass-sim0:0:0:0): Retrying command > (da0:umass-sim0:0:0:0): . CDB: 28 00 00 7c 3d 00 00 00 48 00 > (da0:umass-sim0:0:0:0): CAM status: CCB request completed with an error > (da0:umass-sim0:0:0:0): Retrying command > (da0:umass-sim0:0:0:0): . CDB: 28 00 00 7c 3d 00 00 00 48 00 > (da0:umass-sim0:0:0:0): CAM status: CCB request completed with an error > (da0:umass-sim0:0:0:0): Retrying command > (da0:umass-sim0:0:0:0): . CDB: 28 00 00 7c 3d 00 00 00 48 00 > (da0:umass-sim0:0:0:0): CAM status: CCB request completed with an error > (da0:umass-sim0:0:0:0): Retrying command > (da0:umass-sim0:0:0:0): . CDB: 28 00 00 7c 3d 00 00 00 48 00 > (da0:umass-sim0:0:0:0): CAM status: CCB request completed with an error > (da0:umass-sim0:0:0:0): Error 5, Retries exhausted > g_vfs_done():da0a[READ(offset=4171210752, length=12288)]error = 5 > g_vfs_done():da0a[READ(offset=1361854464, length=12288)]error = 5 > g_vfs_done():da0a[READ(offset=4019220480, length=61440)]error = 5 > g_vfs_done():da0a[READ(offset=4151885824, length=65536)]error = 5 > g_vfs_done():da0a[READ(offset=4168736768, length=36864)]error = 5 > vnode_pager_getpages: I/O read error > vm_fault: pager read error, pid 570 (syslogd) > ... > > Bootmessages on a Dragino, on which I'm currently testing: > ********************************************* > * U-Boot 1.1.4 (Jun 3 2014) * > ********************************************* > > AP121 (AR9331) U-Boot for Dragino v2 MS14 > > DRAM: 64 MB DDR 16-bit > FLASH: Winbond W25Q128 (16 MB) > CLOCKS: 400/400/200/33 MHz (CPU/RAM/AHB/SPI) > > LED on during eth initialization... > > Hit any key to stop autobooting: 0 > > Booting image at: 0x9F050000 > > Image name: FreeBSD > Created: 2015-01-02 12:27:56 UTC > Image type: MIPS Linux Kernel Image (lzma compressed) > Data size: 1523753 Bytes = 1.5 MB > Load address: 0x80050000 > Entry point: 0x80050100 > > Uncompressing kernel image... OK! > Starting kernel... > > CPU platform: Atheros AR9330 rev 1 > CPU Frequency=400 MHz > CPU DDR Frequency=400 MHz > CPU AHB Frequency=200 MHz > platform frequency: 400000000 > CPU reference clock: 25 MHz > arguments: > a0 = 00000007 > a1 = a3ec3fac > a2 = a3ec4850 > a3 = 00000010 > Cmd line:argv is invalid > Environment: > envp is invalid > Cache info: > picache_stride = 4096 > picache_loopcount = 16 > pdcache_stride = 4096 > pdcache_loopcount = 8 > cpu0: MIPS Technologies processor v116.147 > MMU: Standard TLB, 16 entries > L1 i-cache: 4 ways of 512 sets, 32 bytes per line > L1 d-cache: 4 ways of 256 sets, 32 bytes per line > Config1=0x9ee3519e<PerfCount,WatchRegs,MIPS16,EJTAG> > Config3=0x20 > KDB: debugger backends: ddb > KDB: current backend: ddb > Copyright (c) 1992-2015 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 10.1-STABLE #0 r276531M: Fri Jan 2 12:50:27 CET 2015 > ticso@cicely1.cicely.de:/home/builder/carambola2/obj/mips/mips.mips/home/builder/carambola2/10/sys/CARAMBOLA2 mips > gcc version 4.2.1 20070831 patched [FreeBSD] > real memory = 67108864 (65536K bytes) > avail memory = 58490880 (55MB) > random device not loaded; using insecure entropy > random: <Software, Yarrow> initialized > nexus0: <MIPS32 root nexus> > clock0: <Generic MIPS32 ticker> on nexus0 > Timecounter "MIPS32" frequency 200000000 Hz quality 800 > Event timer "MIPS32" frequency 200000000 Hz quality 800 > argemdio0: <Atheros AR71xx built-in ethernet interface, MDIO controller> at mem 0x1a000000-0x1a000fff on nexus0 > mdio0: <MDIO> on argemdio0 > mdioproxy0: <MII/MDIO proxy, MDIO side> on mdio0 > arswitch0: <Atheros AR7240 Ethernet Switch> on mdio0 > miibus0: <MII bus> on arswitch0 > ukphy0: <Generic IEEE 802.3u media interface> PHY 0 on miibus0 > ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto > miibus1: <MII bus> on arswitch0 > ukphy1: <Generic IEEE 802.3u media interface> PHY 1 on miibus1 > ukphy1: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto > miibus2: <MII bus> on arswitch0 > ukphy2: <Generic IEEE 802.3u media interface> PHY 2 on miibus2 > ukphy2: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto > miibus3: <MII bus> on arswitch0 > ukphy3: <Generic IEEE 802.3u media interface> PHY 3 on miibus3 > ukphy3: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto > etherswitch0: <Switch controller> on arswitch0 > mdio1: <MDIO> on arswitch0 > mdioproxy1: <MII/MDIO proxy, MDIO side> on mdio1 > apb0 at irq 4 on nexus0 > uart0: <ar933x> on apb0 > uart0: console (115200,n,8,1) > gpio0: <Atheros AR71XX GPIO driver> on apb0 > gpio0: [GIANT-LOCKED] > gpio0: function_set: 0x0 > gpio0: function_clear: 0x0 > gpio0: gpio pinmask=0x1803 > gpioc0: <GPIO controller> on gpio0 > gpiobus0: <GPIO bus> on gpio0 > gpioled0: <GPIO led> at pin(s) 0 on gpiobus0 > gpioled1: <GPIO led> at pin(s) 1 on gpiobus0 > ehci0: <AR71XX Integrated USB 2.0 controller> at mem 0x1b000100-0x1bffffff irq 1 on nexus0 > usbus0: set host controller mode > usbus0: EHCI version 1.0 > usbus0: set host controller mode > usbus0 on ehci0 > arge0: <Atheros AR71xx built-in ethernet interface> at mem 0x19000000-0x19000fff irq 2 on nexus0 > miiproxy0: <MII/MDIO proxy, MII side> on arge0 > miiproxy0: attached to target mdio1 > arge0: finishing attachment, phymask 0010, proxy set > miibus4: <MII bus> on miiproxy0 > ukphy4: <Generic IEEE 802.3u media interface> PHY 4 on miibus4 > ukphy4: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto > arge0: Ethernet address: 62:73:64:71:f1:8e > arge1: <Atheros AR71xx built-in ethernet interface> at mem 0x1a000000-0x1a000fff irq 3 on nexus0 > arge1: finishing attachment, phymask 0000, proxy null > arge1: Ethernet address: 62:73:64:c0:e7:37 > ath0: Vendor=0x168c, Device=0x0035 > ath0: Vendor=0x168c, Device=0x0035 > ath0: <Atheros AR933x> at mem 0x18100000-0x1811ffff irq 0 on nexus0 > ath0: eeprom @ 0x1fff0000 (16384 bytes) > ath0: eeprom data @ 0xbfff0000 > ar9300_set_stub_functions: setting stub functions > ar9300_set_stub_functions: setting stub functions > Bootstrap clock 25MHz > ar9300_attach: calling ar9300_hw_attach > ar9300_hw_attach: calling ar9300_eeprom_attach > ar9300_flash_map: unimplemented for now > Restoring Cal data from DRAM > ar9300_hw_attach: ar9300_eeprom_attach returned 0 > ath0: RX status length: 48 > ath0: RX buffer size: 4096 > ath0: TX descriptor length: 128 > ath0: TX status length: 36 > ath0: TX buffers per descriptor: 4 > ar9300_freebsd_setup_x_tx_desc: called, 0x0/0, 0x0/0, 0x0/0 > ath0: ath_edma_setup_rxfifo: type=0, FIFO depth = 16 entries > ath0: ath_edma_setup_rxfifo: type=1, FIFO depth = 128 entries > ath0: [HT] enabling HT modes > ath0: [HT] enabling short-GI in 20MHz mode > ath0: [HT] 1 stream STBC receive enabled > ath0: [HT] 1 RX streams; 1 TX streams > ath0: AR9330 mac 512.1 RF5110 phy 2275.1 > ath0: 2GHz radio: 0x0000; 5GHz radio: 0x0000 > spi0: <AR71XX SPI> at mem 0x1f000000-0x1f00000f on nexus0 > spibus0: <spibus bus> on spi0 > mx25l0: <M25Pxx Flash Family> at cs 0 on spibus0 > mx25l0: w25q128, sector 65536 bytes, 256 sectors > ar71xx_wdog0: <Atheros AR71XX watchdog timer> on nexus0 > Timecounters tick every 1.000 msec > arswitch0port1: link state changed to DOWN > arswitch0port2: link state changed to DOWN > arswitch0port3: link state changed to DOWN > arswitch0port4: link state changed to DOWN > usbus0: 480Mbps High Speed USB v2.0 > ugen0.1: <Atheros> at usbus0 > uhub0: <Atheros EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0 > random: unblocking device. > Root mount waiting for: usbus0 > uhub0: 1 port with 1 removable, self powered > arswitch0port1: link state changed to UP > Root mount waiting for: usbus0 > ugen0.2: <GenesysLogic> at usbus0 > uhub1: <GenesysLogic USB2.0 Hub, class 9/0, rev 2.10/4.01, addr 2> on usbus0 > uhub1: MTT enabled > Root mount waiting for: usbus0 > uhub1: 4 ports with 0 removable, self powered > ugen0.3: <Alcor Tech> at usbus0 > umass0: <Alcor Tech Intenso Rainbow Line, class 0/0, rev 2.00/1.12, addr 3> on usbus0 > umass0: SCSI over Bulk-Only; quirks = 0x4101 > umass0:0:0:-1: Attached to scbus0 > da0 at umass-sim0 bus 0 scbus0 target 0 lun 0 > da0: <Intenso Rainbow Line 8.05> Fixed Direct Access SCSI-4 device > da0: Serial Number 14022600001415 > da0: 40.000MB/s transfers > da0: 60000MB (122880000 512 byte sectors: 255H 63S/T 7648C) > da0: quirks=0x2<NO_6_BYTE> > Trying to mount root from ufs:da0a []... > WARNING: / was not properly dismounted > warning: no time-of-day clock registered, system time will not be set accurately > Setting hostuuid: b7150377-92a0-11e4-82f7-b97c4c6ba68a. > Setting hostid: 0xd75b006b. > Entropy harvesting: interrupts ethernet point_to_point swi. > swapon: mdconfig (attach) error: md99 on file=/home/swap0 > Starting file system checks: > /dev/da0a: 11733 files, 76619 used, 14800282 free (242 frags, 1850005 blocks, 0.0% fragmentation) > Mounting local file systems:. > Writing entropy file:. > ... > > In a recent USB problem case I have had top running and since the > system didn't panic it got updated: > last pid: 4488; load averages: 0.79, 0.66, 0.70 up 0+00:27:20 02:19:42 > 64 processes: 2 running, 35 sleeping, 15 zombie, 12 waiting > CPU: 1.5% user, 0.0% nice, 3.1% system, 0.0% interrupt, 95.4% idle > Mem: 3964K Active, 2132K Inact, 19M Wired, 444K Cache, 15M Buf, 31M Free > Swap: 256M Total, 5072K Used, 251M Free, 1% Inuse > > PID USERNAME PRI NICE SIZE RES STATE TIME WCPU COMMAND > 10 root 155 ki31 0K 8K RUN 13:28 92.82% idle > 2 root -8 - 0K 16K - 0:19 1.95% cam{doneq0} > 1 root -16 0 9240K 16K vnread 0:18 1.90% init > 842 root 40 0 11924K 732K RUN 0:40 1.03% top > 11 root -92 - 0K 96K WAIT 3:38 0.00% intr{int3 arge1} > 753 root -8 - 0K 8K mdwait 1:20 0.00% md99 > 13 root -16 - 0K 8K - 0:25 0.00% rand_harvestq > 12 root -8 - 0K 24K - 0:06 0.00% geom{g_up} > 11 root -92 - 0K 96K WAIT 0:06 0.00% intr{int0 ath0} > 4 root -16 - 0K 8K psleep 0:05 0.00% pagedaemon > 0 root -16 0 0K 56K swapin 0:05 0.00% kernel{swapper} > 0 root -92 0 0K 56K - 0:04 0.00% kernel{ath0 taskq} > 11 root -60 - 0K 96K WAIT 0:02 0.00% intr{swi4: clock} > 12 root -8 - 0K 24K - 0:01 0.00% geom{g_down} > 14 root -72 - 0K 32K - 0:01 0.00% usb{usbus0} > 831 ticso 40 0 17884K 416K select 0:01 0.00% sshd > 11 root -88 - 0K 96K WAIT 0:01 0.00% intr{int1 ehci0} > 566 root 8 0 10192K 768K nanslp 0:01 0.00% mount_nfs > 828 root 41 0 17884K 8K select 0:01 0.00% sshd > 839 root 16 0 11392K 8K pause 0:01 0.00% tcsh > 833 ticso 16 0 11392K 8K pause 0:00 0.00% tcsh > 16 root -16 - 0K 8K - 0:00 0.00% schedcpu > 11 root -76 - 0K 96K WAIT 0:00 0.00% intr{swi0: uart} > 9 root 16 - 0K 8K syncer 0:00 0.00% syncer > 14 root -68 - 0K 32K - 0:00 0.00% usb{usbus0} > 14 root -68 - 0K 32K - 0:00 0.00% usb{usbus0} > 7 root -16 - 0K 16K sdflus 0:00 0.00% bufdaemon{/ worker} > 7 root -16 - 0K 16K psleep 0:00 0.00% bufdaemon{bufdaemon} > 8 root -4 - 0K 8K vlruwt 0:00 0.00% vnlru > 0 root -92 0 0K 56K - 0:00 0.00% kernel{ath0 net80211 ta} > 11 root -52 - 0K 96K WAIT 0:00 0.00% intr{swi6: task queue} > 778 smmsp 16 0 13952K 8K pause 0:00 0.00% sendmail > 12 root -8 - 0K 24K - 0:00 0.00% geom{g_event} > 0 root 8 0 0K 56K - 0:00 0.00% kernel{thread taskq} > 2 root -8 - 0K 16K - 0:00 0.00% cam{scanner} > 3 root -8 - 0K 8K jobque 0:00 0.00% task: mx25l flash > 11 root -72 - 0K 96K WAIT 0:00 0.00% intr{swi1: netisr 0} > 6 root 155 ki31 0K 8K pgzero 0:00 0.00% pagezero > 0 root -8 0 0K 56K - 0:00 0.00% kernel{CAM taskq} > 14 root -68 - 0K 32K - 0:00 0.00% usb{usbus0} > 5 root 16 - 0K 8K psleep 0:00 0.00% vmdaemon > 15 root 8 - 0K 8K aldslp 0:00 0.00% ALQ Daemon > 0 root 8 0 0K 56K - 0:00 0.00% kernel{ffs_trim taskq} > > Nothing obvious beside that obviously a big process died, but since it > also kicked out the compiling ssh-session. > > My local tree changes: > [62]cicely1# svn diff > Index: sys/mips/conf/AR933X_BASE > =================================================================== > --- sys/mips/conf/AR933X_BASE (revision 276531) > +++ sys/mips/conf/AR933X_BASE (working copy) > @@ -29,17 +29,17 @@ > > options SCHED_4BSD #4BSD scheduler > options INET #InterNETworking > -#options INET6 #InterNETworking > -#options NFSCL #Network Filesystem Client > +options INET6 #InterNETworking > +options NFSCL #Network Filesystem Client > options PSEUDOFS #Pseudo-filesystem framework > options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions > > # Don't include the SCSI/CAM strings in the default build > -options SCSI_NO_SENSE_STRINGS > -options SCSI_NO_OP_STRINGS > +#options SCSI_NO_SENSE_STRINGS > +#options SCSI_NO_OP_STRINGS > > # .. And no sysctl strings > -options NO_SYSCTL_DESCR > +#options NO_SYSCTL_DESCR > > # Limit IO size > options NBUF=128 > @@ -59,7 +59,7 @@ > #options WITNESS > #options WITNESS_SKIPSPIN > options FFS #Berkeley Fast Filesystem > -#options SOFTUPDATES #Enable FFS soft updates support > +options SOFTUPDATES #Enable FFS soft updates support > #options UFS_ACL #Support for access control lists > #options UFS_DIRHASH #Improve performance on big directories > options NO_FFS_SNAPSHOT # We don't require snapshot support > @@ -122,3 +122,6 @@ > device if_bridge > device gpio > device gpioled > + > +device gif > +device vlan > Index: sys/mips/conf/CARAMBOLA2 > =================================================================== > --- sys/mips/conf/CARAMBOLA2 (revision 276531) > +++ sys/mips/conf/CARAMBOLA2 (working copy) > @@ -43,11 +43,13 @@ > options AR71XX_ENV_UBOOT > > # uzip - to boot natively from flash > -device geom_uncompress > -options GEOM_UNCOMPRESS > +#device geom_uncompress > +#options GEOM_UNCOMPRESS > > # Used for the static uboot partition map > -device geom_map > +#device geom_map > > # Boot off of the rootfs, as defined in the geom_map setup. > -options ROOTDEVNAME=\"ufs:map/rootfs.uncompress\" > +#options ROOTDEVNAME=\"ufs:map/rootfs.uncompress\" > +options ROOTDEVNAME=\"ufs:da0a\" > + > > -- > B.Walter <bernd@bwct.de> http://www.bwct.de > Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm. > _______________________________________________ > freebsd-mips@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-mips > To unsubscribe, send any mail to "freebsd-mips-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmokgPvoUftwPCg4%2B6VGkAFTz7Gi-%2BFFAQkQYO=NO2LssQg>