USB stability problem on AR9331 with stable/10
Adrian Chadd
adrian at freebsd.org
Sat Jan 3 08:55:00 UTC 2015
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 at 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 at 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 at bwct.de> http://www.bwct.de
> Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.
> _______________________________________________
> freebsd-mips at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-mips
> To unsubscribe, send any mail to "freebsd-mips-unsubscribe at freebsd.org"
More information about the freebsd-mips
mailing list