Subject: kern/29636: Promise SATA 150 TX2plus not configured
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Lukas L. Diduch <count0@sdf-eu.org>
List: netbsd-bugs
Date: 03/09/2005 01:16:00
>Number: 29636
>Category: kern
>Synopsis: device not configured (due to unknown id 0x3d75)
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: support
>Submitter-Id: net
>Arrival-Date: Wed Mar 09 01:16:00 +0000 2005
>Originator: Lukas L. Diduch
>Release: current
>Organization:
>Environment:
System:
NetBSD 2.99.16 (GENERIC) #11: Sun Feb 27 23:46:55 CET 2005
root@hades.entropie:/sourcepool/src_current/sys/arch/sparc64/compile/obj.sparc64/GENERIC
Architecture: sparc64
Machine: sparc64
>Description:
I'm using this (brandnew) card with a 160gb sata hdd in a u60. The card shows up not
configured at startup (pdcsata). Adding the id to pcidevs and pcidevs.h does
not work. (I've wrote already to current-users, topic 'promise sata TX2Plus
not configured'. Some more infos there.)
After some 'hacking' in pcidevs and pcidevs.h :
changed :
product PROMISE PDC20318 0x3318 PDC20318 SATA/150 IDE controller
to :
product PROMISE PDC20318 0x3d75 PDC20318 SATA/150 IDE controller
the driver recognizes the card, but during the hdd initialization later the hdd
is recognized as a 65gb hdd and the system hangs with a ('bogus int (reg 0x2)'
message in an endless loop). Sorry got no dmesg of that.
...dmesg :
Promise Technology product 0x3d75 (miscellaneous mass storage, revision 0x02)
at pci0 dev 2 function 0 not configured
...here's a pcictl dump of the device :
PCI configuration registers:
Common header:
0x00: 0x3d75105a 0x02300007 0x01800002 0x00002040
Vendor Name: Promise Technology (0x105a)
Device ID: 0x3d75
Command register: 0x0007
I/O space accesses: on
Memory space accesses: on
Bus mastering: on
Special cycles: off
MWI transactions: off
Palette snooping: off
Parity error checking: off
Address/data stepping: off
System error (SERR): off
Fast back-to-back transactions: off
Status register: 0x0230
Capability List support: on
66 MHz capable: on
User Definable Features (UDF) support: off
Fast back-to-back capable: off
Data parity error detected: off
DEVSEL timing: medium (0x1)
Slave signaled Target Abort: off
Master received Target Abort: off
Master received Master Abort: off
Asserted System Error (SERR): off
Parity error detected: off
Class Name: mass storage (0x01)
Subclass Name: miscellaneous (0x80)
Interface: 0x00
Revision ID: 0x02
BIST: 0x00
Header Type: 0x00 (0x00)
Latency Timer: 0x20
Cache Line Size: 0x40
Type 0 ("normal" device) header:
0x10: 0x00001801 0x00000000 0x00001c01 0x00110000
0x20: 0x00120000 0x00000000 0x00000000 0x3d75105a
0x30: 0x00140000 0x00000060 0x00000000 0x1204010e
Base address register at 0x10
type: i/o
base: 0x00001800, not sized
Base address register at 0x14
not implemented(?)
Base address register at 0x18
type: i/o
base: 0x00001c00, not sized
Base address register at 0x1c
type: 32-bit nonprefetchable memory
base: 0x00110000, not sized
Base address register at 0x20
type: 32-bit nonprefetchable memory
base: 0x00120000, not sized
Base address register at 0x24
not implemented(?)
Cardbus CIS Pointer: 0x00000000
Subsystem vendor ID: 0x105a
Subsystem ID: 0x3d75
Expansion ROM Base Address: 0x00140000
Capability list pointer: 0x60
Reserved @ 0x38: 0x00000000
Maximum Latency: 0x12
Minimum Grant: 0x04
Interrupt pin: 0x01 (pin A)
Interrupt line: 0x0e
Capability register at 0x60
type: 0x01 (Power Management, rev. 1.0)
Device-dependent header:
0x40: 0x00010000 0x00000000 0x00000000 0x00000000
0x50: 0x00000000 0x00000000 0x00000000 0x00000000
0x60: 0x02220001 0x00000000 0x00000000 0x00000000
0x70: 0x00000000 0x00000000 0x00000000 0x00000000
0x80: 0x00000000 0x00000000 0x00000000 0x00000000
0x90: 0x00000000 0x00000000 0x00000000 0x00000000
0xa0: 0x00000000 0x00000000 0x00000000 0x00000000
0xb0: 0x00000000 0x00000000 0x00000000 0x00000000
0xc0: 0x00000000 0x00000000 0x00000000 0x00000000
0xd0: 0x00000000 0x00000000 0x00000000 0x00000000
0xe0: 0x00000000 0x00000000 0x00000000 0x00000000
0xf0: 0x04000000 0x0003ffff 0x00000000 0x00000000
Best regards,
Lukas
>How-To-Repeat:
i will test all code you can provide as fast as i can.
>Fix: