Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Sep 2009 12:24:23 +0800
From:      Eugene Grosbein <eugen@kuzbass.ru>
To:        usb@freebsd.org
Subject:   8.0-RC1: AMD CS5536 (Geode) USB 2.0 controller strange behavour
Message-ID:  <20090926042423.GA12216@svzserv.kemerovo.su>

next in thread | raw e-mail | index | archive | help
Hi!

I have got fanless computer named NICE 3120,
it is based on EBC 420-LX8 motherboard and AMD Geode LX800 processor.

I've installed 8.0-RC1 here and it runs just fine as a router
using internal CompactFlash 256Mb card. Now I'm trying to use USB 2.0 HDD
<Seagate FreeAgent Go 102D> that gives me stable 27 megabyte/sec
write speed to /dev/da0 using dd when connected to another 8.0-RC1 system
with ICH7 but with this CS5536 its behavour is very strange.

"dd if=/dev/zero bs=256k of=/dev/da0 count=100" may result in 1.7MBytes/s
or 16Mbytes/s or 400Kbyte/s (sic!) write speed. dd measures speed right,
very often it writes way too slow.

"systat -vm 1" shows that most of time nothing is written in process;
then suddenly lots of bytes are written, then it sits idle again for long time.

As for timecounting,
kern.timecounter.choice: TSC(800) ACPI-safe(850) i8254(0) dummy(-1000000)

ACPI-safe is non-functional here (3 seconds for 30 minutes of real time),
so I use TSC, it works just fine. I've tried i8254 but found no differences.
Ntpd drift is about 148.331 for both of TSC and i8254 and
ntpd keeps time correct.

"pciconf -lv" shows for EHCI:

ehci0@pci0:0:15:5:      class=0x0c0320 card=0x20951022 chip=0x20951022          
rev=0x02 hdr=0x00                                                               
    vendor     = 'Advanced Micro Devices (AMD)'                                 
    device     = 'CS5536 EHCI USB Host Controller (CS5536)'                     
    class      = serial bus                                                     
    subclass   = USB


This machine is used as home router only and I'm ready to debug.
Remote access is available on request.

The kernel is built with options:

machine         i386        
cpu             I586_CPU    
cpu             I686_CPU    
options         NO_F00F_HACK
options         CPU_GEODE   
options         CPU_SOEKRIS 
options         SCHED_ULE   
options         PREEMPTION  

$ dmesg -a | fgrep -i Geode
CPU: Geode(TM) Integrated Processor by AMD PCS (499.90-MHz 586-class CPU)
glxsb0: <AMD Geode LX Security Block (AES-128-CBC, RNG)> mem 0xef010000-0xef013fff at device 1.2 on pci0
ehci0: <AMD CS5536 (Geode) USB 2.0 controller> mem 0xef018000-0xef018fff irq 10 at device 15.5 on pci0
usbus1: <AMD CS5536 (Geode) USB 2.0 controller> on ehci0

$ sysctl kern.timecounter
kern.timecounter.tick: 1
kern.timecounter.choice: TSC(800) ACPI-safe(850) i8254(0) dummy(-1000000)
kern.timecounter.hardware: TSC
kern.timecounter.stepwarnings: 0
kern.timecounter.tc.i8254.mask: 4294967295
kern.timecounter.tc.i8254.counter: 3806
kern.timecounter.tc.i8254.frequency: 1193182
kern.timecounter.tc.i8254.quality: 0
kern.timecounter.tc.ACPI-safe.mask: 16777215
kern.timecounter.tc.ACPI-safe.counter: 4294967295
kern.timecounter.tc.ACPI-safe.frequency: 3579545
kern.timecounter.tc.ACPI-safe.quality: 850
kern.timecounter.tc.TSC.mask: 4294967295
kern.timecounter.tc.TSC.counter: 1502810203
kern.timecounter.tc.TSC.frequency: 499904675
kern.timecounter.tc.TSC.quality: 800
kern.timecounter.invariant_tsc: 0

Please help.

Eugene Grosbein



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090926042423.GA12216>