Re: Double fault with IBM microdrives and CompactFlash (LONG)

2003-03-03 Thread Andre Guibert de Bruet

Latest update:

pccard0: Allocation failed for cfe 0
ata2 at port 0x140-0x14f irq 10 function 0 config 1 on pccard0
ad4: 342MB IBM-DMDM-10340 [695/16/63] at ata2-master PIO1

# atacontrol cap 2 0 # Microdrive

ATA/ATAPI revision4
device model  IBM-DMDM-10340
serial number XHAF1669
firmware revision MD2IC501

# atacontrol cap 2 0 # Compactflash

ATA/ATAPI revision0
device model  TOSHIBA THNCF128MBA
serial number STCB21M82005E93599A5
firmware revision 2.00

It works! :-)

Regards,

 Andre Guibert de Bruet | Enterprise Software Consultant 
 Silicon Landmark, LLC. | http://siliconlandmark.com/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message


Re: Double fault with IBM microdrives and CompactFlash (LONG)

2003-03-02 Thread Andre Guibert de Bruet

On Sat, 1 Mar 2003, Andre Guibert de Bruet wrote:

 I just tried using my FreeBSD laptop to unload pictures off of a 340MB IBM
 microdrive (Model: DMDM-10340, P/N: 22L0046) using the IBM PC Card adapter
 (P/N: 31L9315). The laptop in question is a stock Dell Latitude C800 with
 a 1Ghz P3, 512MB of RAM and a 20GB ATA66 drive.

 I got a double page fault in kernel mode message shortly after inserting
 the drive. I rebooted then tried using the same adapter with a 128MB
 Viking CompactFlash card, and I got the same problem. Now, I've used this
 adapter under Windows XP, and it works, so it's not defective. I use the
 same cardbus slots for my wi0 interface (PRISM II-based), so I know both
 slots work. I recvsup'ed to make sure that I have all the latest committed
 fixes. Here's what uname says:
snip
 pccard1: Allocation failed for cfe 0
 ata2 at port 0x100-0x10f irq 10 function 0 config 1 on pccard1
snip

I've since cvsup'ed, and upgraded this machine's kernel.

omikron# uname -a
FreeBSD omikron.properkernel.com 5.0-CURRENT FreeBSD 5.0-CURRENT #0: Sun Mar  2 
09:29:14 EST 2003 [EMAIL PROTECTED]:/usr/src/sys/i386/compile/OMIKRON  i386

I also enabled dumps and managed to get a clean dump:

(kgdb) bt
#0  doadump () at ../../../kern/kern_shutdown.c:239
#1  0xc013bb55 in db_fncall (dummy1=0, dummy2=0, dummy3=3999,dummy4=0xd68d0964 
@\003EÀ\f) at ../../../ddb/db_command.c:546
#2  0xc013b8d2 in db_command (last_cmdp=0xc04037c0, cmd_table=0x0,
aux_cmd_tablep=0xc03fdf94, aux_cmd_tablep_end=0xc03fdf98)at 
../../../ddb/db_command.c:346
#3  0xc013b9e6 in db_command_loop () at ../../../ddb/db_command.c:470
#4  0xc013e76a in db_trap (type=12, code=0) at ../../../ddb/db_trap.c:72
#5  0xc0388ad1 in kdb_trap (type=12, code=0, regs=0xd68d0b34)at 
../../../i386/i386/db_interface.c:166
#6  0xc039a2f2 in trap_fatal (frame=0xd68d0b34, eva=0)at 
../../../i386/i386/trap.c:838
#7  0xc039a002 in trap_pfault (frame=0xd68d0b34, usermode=0, eva=0)at 
../../../i386/i386/trap.c:757
#8  0xc0399b7d in trap (frame=  {tf_fs = -695402472, tf_es = -1072431088, tf_ds = 
-1051262960, tf_edi = -1051687936, tf_esi = 128, tf_ebp = -695399504, tf_isp = 
-695399584, tf_ebx = 16, tf_edx = -1051231700, tf_ecx = -1068976384, tf_eax = 
-1051231700, tf_trapno = 12, tf_err = 0, tf_eip = 0, tf_cs = 8, tf_eflags = 66118, 
tf_esp = -1072345719, tf_ss = -1051231700}) at ../../../i386/i386/trap.c:444
#9  0xc038a428 in calltrap () at {standard input}:96
#10 0xc01463d3 in ata_attach (dev=0x80) at ../../../dev/ata/ata-all.c:210
#11 0xc017b24a in pccard_compat_do_attach (bus=0xc40f8500, dev=0x80)at 
card_if.h:129
#12 0xc014a5bd in pccard_compat_attach (dev=0x10) at card_if.h:147
#13 0xc0254010 in device_probe_and_attach (dev=0x10) at device_if.h:39
#14 0xc0179f1f in pccard_attach_card (dev=0xc40f8500)at 
../../../dev/pccard/pccard.c:243
#15 0xc0181f08 in cbb_insert (sc=0xc15a2c00) at card_if.h:66
#16 0xc0181d2b in cbb_event_thread (arg=0xc15a2c00)at 
../../../dev/pccbb/pccbb.c:914
#17 0xc022b634 in fork_exit (callout=0xc0181cb0 cbb_event_thread, arg=0x0,
frame=0x0) at ../../../kern/kern_fork.c:871

(kgdb) list ../../../dev/ata/ata-all.c:210
205 if (ch-devices  ATA_ATAPI_MASTER)
206 if (ata_getparam(ch-device[MASTER], ATA_C_ATAPI_IDENTIFY))
207 ch-devices = ~ATA_ATAPI_MASTER;
208 #ifdef DEV_ATADISK
209 if (ch-devices  ATA_ATA_MASTER)
210 ad_attach(ch-device[MASTER]);
211 if (ch-devices  ATA_ATA_SLAVE)
212 ad_attach(ch-device[SLAVE]);
213 #endif
214 #if DEV_ATAPIALL

File versions:
src/sys/dev/ata/ata-all.c 1.167
src/sys/dev/ata/ata-all.h 1.59
src/sys/dev/pccard/card_if.m  1.21
src/sys/dev/pccbb/pccbb.c 1.65
src/sys/kern/device_if.m  1.8
src/sys/kern/kern_fork.c  1.186
src/sys/pccard/pccard.c   1.156

The kernel config file that I'm using can be found at:
http://siliconlandmark.com/staff/andre/files/OMIKRON

If there's anything else that could be helpful, please don't hesitate to
ask! :-)

Thanks again,

 Andre Guibert de Bruet | Enterprise Software Consultant 
 Silicon Landmark, LLC. | http://siliconlandmark.com/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message


Double fault with IBM microdrives and CompactFlash (LONG)

2003-03-01 Thread Andre Guibert de Bruet
Hi,

I just tried using my FreeBSD laptop to unload pictures off of a 340MB IBM
microdrive (Model: DMDM-10340, P/N: 22L0046) using the IBM PC Card adapter
(P/N: 31L9315). The laptop in question is a stock Dell Latitude C800 with
a 1Ghz P3, 512MB of RAM and a 20GB ATA66 drive.

I got a double page fault in kernel mode message shortly after inserting
the drive. I rebooted then tried using the same adapter with a 128MB
Viking CompactFlash card, and I got the same problem. Now, I've used this
adapter under Windows XP, and it works, so it's not defective. I use the
same cardbus slots for my wi0 interface (PRISM II-based), so I know both
slots work. I recvsup'ed to make sure that I have all the latest committed
fixes. Here's what uname says:

FreeBSD 5.0-CURRENT #0: Sat Mar  1 11:04:18 EST 2003
[EMAIL PROTECTED]:/usr/src/sys/i386/compile/OMIKRON

The following messages print out when the double faults occur. I didn't
have a serial console hooked up at the time, so I copied what was on the
screen as best I could... :-)


pccard1: Allocation failed for cfe 0
ata2 at port 0x100-0x10f irq 10 function 0 config 1 on pccard1

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x0
fault code  = supervisor read, page not present
instruction pointer = 0x8:0x0
stack pointer   = 0x10:0xd68d0b74
frame pointer   = 0x10:0xd68d0bb0
code segment= base 0x0, limit 0xf, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags= interrupt enabled, resume, IOPL = 0
current process = 9 (cbb1)
kernel: type 12 trap, code=0
Stopped at  0:

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x0
fault code  = supervisor read, page not present
instruction pointer = 0x8:0xc0388d20
stack pointer   = 0x10:0xd68d0978
frame pointer   = 0x10:0xd68d097c
code segment= base 0x0, limit 0xf, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags= interrupt enabled, resume, IOPL = 0
current process = 9 (cbb1)
  kernel: type 12 trap, code=0
db tr


Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x0
fault code  = supervisor read, page not present
instruction pointer = 0x8:0xc0388d20
stack pointer   = 0x10:0xd68d0860
frame pointer   = 0x10:0xd68d0864
code segment= base 0x0, limit 0xf, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags= resume, IOPL = 0
current process = 9 (cbb1)
kernel: type12 trap, code=0
db show registers
cs 0x8
ds 0xc1560010
es 0xc0140010  an_attach+0x450
fs 0xd68d0018
ss   0x10
eax0xc156332c
ecx0xc048b8b8
edx0xc156332c
ebx  0x10
esp0xd68d0b74
ebp0xd68d0bb0
esi  0x80
edi0xc1508200
eip 0
efl   0x10246
dr0 0
dr1 0
dr2 0
dr3 0
dr40x0ff0
dr5 0x400
dr60x0ff0
dr7 0x400
0:

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x0
fault code  = supervisor read, page not present
instruction pointer = 0x8:c0388d20
stack pointer   = 0x10:0xd68d0878
frame pointer   = 0x10:0xd68d087c
code segment= base 0x0, limit 0xf, type 0x1b
= DPL 0, pres 1 def32 1, gran 1
processor eflags= resume, IOPL = 0
current process = 9 (cbb1)
  kernel: type 12 trap code=0
dbcall sync
0
db

If I do not remove the card, doing a call sync never finishes. It
appears as if this problem is 100% reproducible.

Any ideas?

Thanks,

 Andre Guibert de Bruet | Enterprise Software Consultant 
 Silicon Landmark, LLC. | http://siliconlandmark.com/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message