Testers wanted (again)

Alexandre "Sunny" Kovalenko Alex.Kovalenko at verizon.net
Sun Aug 6 14:03:20 UTC 2006


On Sat, 2006-08-05 at 20:56 +0200, Hans Petter Selasky wrote:
> On Saturday 05 August 2006 19:39, Alexandre "Sunny" Kovalenko wrote:
...
> > I can certainly wait until Christmas. Just for my education -- what kind
> > of devices did you want tested?
> 
> Today, just ADMtek AN986 Pegasus USB Ethernet devices and IDE mass storage 
> devices, not "device umass", but "device atausb". But if you want, you can 
> test USB functionality in general.
> 
> --HPS

Oops, I am being silly here -- to quote Release Notes:
"The ata(4) driver now supports USB mass storage class devices. To
enable it, a line device atausb in the kernel configuration file or
loading the atausb kernel module is needed. Note that this functionality
cannot coexist with the umass(4) driver." ... sigh.

So I have built a kernel with the device atausb inside -- configuration
is available at

http://members.verizon.net/~akovalenko/Misc/USB

It seems to recognize the bus:

Aug  6 09:37:33 RabbitsDen kernel: atausb0: <Genesys USB TO IDE, class
0/0, rev 2.00/0.02, addr 126>
Aug  6 09:37:33 RabbitsDen kernel: atausb0: using SCSI over Bulk-Only
Aug  6 09:37:33 RabbitsDen kernel: ata2: <USB lun 0> on atausb0

or, for the different device:

Aug  6 09:33:38 RabbitsDen kernel: atausb0: <Initio 0M9AT00, class 0/0,
rev 2.00/0.00, addr 126>
Aug  6 09:33:38 RabbitsDen kernel: atausb0: using SCSI over Bulk-Only
Aug  6 09:33:38 RabbitsDen kernel: ata2: <USB lun 0> on atausb0

but not the device:

RabbitsDen# atacontrol list
ATA channel 0:
    Master:  ad0 <ST9120821A/3.04> ATA/ATAPI revision 6
    Slave:       no device present
ATA channel 1:
    Master: acd0 <UJDA740 DVD/CDRW/1.20> ATA/ATAPI revision 5
    Slave:       no device present
ATA channel 2:
    Master:      no device present
    Slave:       no device present
RabbitsDen# atacontrol info ata2
Master:      no device present
Slave:       no device present
RabbitsDen# atacontrol reinit ata2
atacontrol: ioctl(IOCATAREINIT): Device not configured
Master:      no device present
Slave:       no device present
RabbitsDen#

and attempt to do atacontrol attach ata2

crashes kernel with the following trace:

RabbitsDen# kgdb ./usr/src/sys/USB/kernel.debug /var/crash/vmcore.0
[GDB will not be able to debug user-mode
threads: /usr/lib/libthread_db.so: Undefined sym bol
"ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "i386-marcel-freebsd".

Unread portion of the kernel message buffer:


Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x4
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0xc059fd56
stack pointer           = 0x28:0xd90e1b08
frame pointer           = 0x28:0xd90e1b08
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 868 (atacontrol)
Physical memory: 599 MB
Dumping 54 MB: 39 23 7

#0  doadump () at pcpu.h:166
166     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) where
#0  doadump () at pcpu.h:166
#1  0xc04778bc in db_fncall (dummy1=0, dummy2=0, dummy3=1999,
    dummy4=0xd90e18c8 " w\202��\030\016�")
at /usr/src/sys/ddb/db_command.c:481
#2  0xc0477665 in db_command (last_cmdp=0xc0826e24, cmd_table=0x0)
    at /usr/src/sys/ddb/db_command.c:396
#3  0xc047773a in db_command_loop ()
at /usr/src/sys/ddb/db_command.c:448
#4  0xc0479835 in db_trap (type=12, code=0)
at /usr/src/sys/ddb/db_main.c:221
#5  0xc059aac5 in kdb_trap (type=0, code=0, tf=0x0)
at /usr/src/sys/kern/subr_kdb.c:502
#6  0xc07774fc in trap_fatal (frame=0xd90e1ac8, eva=4)
    at /usr/src/sys/i386/i386/trap.c:858
#7  0xc0777205 in trap_pfault (frame=0xd90e1ac8, usermode=0, eva=4)
    at /usr/src/sys/i386/i386/trap.c:776
#8  0xc0776d63 in trap (frame=
      {tf_fs = 8, tf_es = 40, tf_ds = 40, tf_edi = -1025473280, tf_esi =
-1023739392, tf_ ebp = -653387000, tf_isp = -653387020, tf_ebx =
-1025473280, tf_edx = -1065420148, tf_ecx  = -1031237632, tf_eax = 0,
tf_trapno = 12, tf_err = 4, tf_eip = -1067844266, tf_cs = 32,  tf_eflags
= 66178, tf_esp = -653386896, tf_ss = -1068859020})
    at /usr/src/sys/i386/i386/trap.c:461
#9  0xc07619ea in calltrap () at /usr/src/sys/i386/i386/exception.s:138
#10 0xc059fd56 in rman_get_bustag (r=0x0)
at /usr/src/sys/kern/subr_rman.c:722
#11 0xc04a8174 in ata_generic_reset (dev=0xc2e08500) at bus.h:515
#12 0xc049203a in ata_attach (dev=0xc2e08500) at ata_if.h:55
#13 0xc0492caa in ata_ioctl (dev=0xc2886400, cmd=0, data=0xc07efa8c
"\224�~�@\201J�:",
    flag=3, td=0xc2be5bd0) at /usr/src/sys/dev/ata/ata-all.c:383
#14 0xc05452b8 in giant_ioctl (dev=0xc2886400, cmd=0, data=0x0, fflag=0,
td=0x0)
    at /usr/src/sys/kern/kern_conf.c:288
#15 0xc0517d29 in devfs_ioctl_f (fp=0xc2e0cb40, com=2147770627,
data=0xc2992970,
    cred=0xc2e0d400, td=0xc2be5bd0)
at /usr/src/sys/fs/devfs/devfs_vnops.c:410
#16 0xc05a7061 in kern_ioctl (td=0xc2be5bd0, fd=3, com=2147770627,
    data=0xc2992970 "\002") at file.h:265
#17 0xc05a6be7 in ioctl (td=0x0, uap=0xd90e1d04)
at /usr/src/sys/kern/sys_generic.c:575
#18 0xc07778da in syscall (frame=
      {tf_fs = 59, tf_es = 59, tf_ds = 59, tf_edi = 134521610, tf_esi =
-1077940770, tf_e bp = -1077941048, tf_isp = -653386396, tf_ebx =
-1077941644, tf_edx = 2, tf_ecx = 0, tf_e ax = 54, tf_trapno = 12,
tf_err = 2, tf_eip = 672530327, tf_cs = 51, tf_eflags = 582, tf_ esp =
-1077941700, tf_ss = 59}) at /usr/src/sys/i386/i386/trap.c:1006
#19 0xc0761a3f in Xint0x80_syscall ()
at /usr/src/sys/i386/i386/exception.s:191
#20 0x00000033 in ?? ()
Previous frame inner to this frame (corrupt stack?)
(kgdb)

Admittedly, I am unfamiliar with atausb and so far I have not found much
to read up on it, so it is quite possible this is the pilot error. 

Before, I dig into it much further, i would really like to know that I
am doing something useful this time around, though :)

-- 
Alexandre Kovalenko (Олександр Коваленко)



More information about the freebsd-usb mailing list