Skip site navigation (1)Skip section navigation (2)
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>