Problems setting up Pcmcia.generic for Compact Flash

Problem 1:
“pin” only return 1 socket, event though there are 2 pcmcia slots.

Sock Win Type Flags PID Base Size …
1 0 Memory C—M--------W None - - …

“pin -s2” fail to return anything. Why doesn’t slot 2 shown on the return?

Problem 2:
On the slot that recognized by the driver. If I insert a 96 MByte SanDisk compact flash, it does not show any IO-addr & IRQ values. As a result, I can not mount the drive.
“pin” command returns the following:
Sock Win Type Flags PID Base Size IRQ …
1 0 Memory C—M--------W None - - …

On the other hand, if I insert a 20 MByte SanDisk compact flash, the driver recognize the CF correctly.
“pin” command returns the following:
Sock Win Type Flags PID Base Size IRQ …
1 0 ATA C—I–±-----W None 0x360 16 7 …

I have used “pin con >> /etc/config/pcmcia.cards” on both CF cards, I also change the default resource address of 0xd4000 to some other address, but the problem persist. I make sure that every times a parameter is changed, I will slay the Pcmcia.generic driver and restart it with Pcmcia.generic -i0. But none of these works.

Any helps is appreciated.

kw

Could you post pcmcia.cards and pcmcia.cfg files?

Here is listing of pcmcia.cfg and pcmcia.cards file. The last [Device] item in pcmcia.cards file is the CF card that doesn’t recognized by Pcmcia.generic.

KW

=== pcmcia.cfg file ===
;
; Minimal resource set
;

[resources]
memory = 0xd4000-0xd5fff
ports = 0x360-0x37f
rports = 0x2e8+8, 0x3e8+8, 0x170+8, 0x376+2
irqs = 5,7,10,11,12

=== pcmcia.cards file ===
;
; PCMCIA card definitions file
;
; Describes configurations for all the PCMCIA cards we know about.
;

[device]
manufacturer = “Intel”
product = “MODEM 2400*”
info1 = “iNC110US”
regbase = 0x100
config = 0x01, 0x0201, irq any, io 0x3f8-0x3ff (width=8)
config = 0x02, 0x0201, irq any, io 0x3e8-0x3ef (width=8)
config = 0x03, 0x0201, irq any, io 0x2f8-0x2ff (width=8)
config = 0x04, 0x0201, irq any, io 0x2e8-0x2ef (width=8)
vpp = 12.0

[device]
manufacturer = “MEGAHERTZ”
product = “XJ??44”
info1 = “A5”
info2 = “PCMCIA MODEM”
regbase = 0x100
config = 0x20, 0x0201, irq any, io 0x3f8+8
config = 0x21, 0x0201, irq any, io 0x2f8+8
config = 0x22, 0x0201, irq any, io 0x3e8+8
config = 0x23, 0x0201, irq any, io 0x2e8+8

[device]
manufacturer = “SunDisk”
product = “SDP5”
regbase = 0x200
config = 0x02, 0x401, irq any, io 0x1f0-0x1f7(width=16), io 0x3f6-0x3f7
config = 0x03, 0x401, irq any, io 0x170-0x177(width=16), io 0x376-0x377
register = 0,0x40,0x40

[device]
manufacturer = “MINISTOR”
product = “MP85P”
regbase = 0x200
; config = 0x01, 0x401, irq any, io any+16
config = 0x02, 0x401, irq any, io 0x1f0-0x1f7 (width=16), io 0x3f6-0x3f7 (width=16)
config = 0x03, 0x401, irq any, io 0x170-0x177(width=16), io 0x376-0x377
register = 0,0x40,0x40

[device]
manufacturer = “NCR”
product = “WaveLAN/PCMCIA”
info1 = “Version 1.0?”
regbase = 0x4000
config = 0x41, 0x0602, irq any, io any+8 (width=8), mem any+0x8000 (offset=0, attribute)

[device]
manufacturer = “New Media Corporation”
product = “Sound”
regbase = 0x100
config = 0x20, 0x9001, irq any, io any+16 (width=16), io 0x388-0x38b (width=16)
config = 0x02, 0x9001, irq any, io 0x300-0x31f (width=8)
register = 0, 0x40, 0x40 ; level mode interrupts

[device]
manufacturer = “Trantor Systems, Ltd.”
product = “T460 SCSI Host Adapter”
regbase = 0x8000
config = 0x08, 0x8001, irq any, io 0x360-0x370 (width=16), io 0xa830-0xa904 (width=16)
config = 0x09, 0x8001, irq any, io 0x350-0x360 (width=16), io 0x3010-0x30b8 (width=16)
config = 0x0c, 0x8001, irq any, io 0x260-0x270 (width=16), io 0x3010-0x30b8 (width=16)
config = 0x0d, 0x8001, irq any, io 0x250-0x260 (width=16), io 0x3010-0x30b8 (width=16)
register = 0, 0x40, 0x40 ; level mode interrupts

;
; LinkSys EC2T NE2000 Card
; Irvine, CA 92714 (714)261-1288
;

[device]
manufacturer = “E-CARD”
product = “E-CARD”
info1 = “Ver 01.00”
regbase = 0x400
config = 0x20, 0x0601, irq any, io 0x300-0x31f (width=16)
config = 0x21, 0x0601, irq any, io 0x320-0x33f (width=16)
register = 0, 0x40, 0x40 ; level mode interrupts

[device]
manufacturer = “LINKSYS”
product = “E-CARD”
info1 = “Ver 02.00”
regbase = 0x400
config = 0x20, 0x0601, irq 2|3|4|5|6|7|9|10|11|12|13|15, io any+32 (width=16)
register = 0, 0x40, 0x40 ; level mode interrupts

;
; Accton EN2212 NE2000 Ethernet Card
;
; NOTE: This card does not work with the NE2000 driver, and
; the CIS is unreliable.
;

[device]
manufacturer = “ACCTON”
product = “EN2212”
info1 = “ETHERNET”
info2 = “R04”
regbase = 0x100
config = 0x01, 0x0601, irq any, io 0x300-0x31f (width=16)
register = 0, 0x40, 0x40 ; level mode interrupts

;
; Megahertz 14.4 FAX Modem (may be branded as a Dell)
;

[device]
manufacturer = “MEGAHERTZ”
product = “CC3144”
info1 = “A5”
info2 = “PCMCIA MODEM”
regbase = 0x200
config = 0x20, 0x0201, irq any, io 0x3f8-0x3ff (width=8)
config = 0x21, 0x0201, irq any, io 0x2f8-0x2ff (width=8)
config = 0x22, 0x0201, irq any, io 0x3e8-0x3ef (width=8)
config = 0x23, 0x0201, irq any, io 0x2e8-0x2ef (width=8)
register = 0, 0x40, 0x40 ; level mode interrupts

;
; ChemCard/ThinFAX PCMCIA Series 14.4k modem
;

[device]
manufacturer = “EXP”
product = “ThinFax 1414”
info1 = “FM-1134”
info2 = “1.0”
regbase = 0x100
config = 0x20, 0x0201, irq any, io 0x3f8-0x3ff (width=8)
config = 0x21, 0x0201, irq any, io 0x2f8-0x2ff (width=8)
config = 0x22, 0x0201, irq any, io 0x3e8-0x3ef (width=8)
config = 0x23, 0x0201, irq any, io 0x2e8-0x2ef (width=8)
register = 0, 0x40, 0x40 ; level mode interrupts

;
; D-Link DE-650 NE2000 Ethernet Card

[device]
manufacturer = “D-Link”
product = “DE-650”
regbase = 0x0400
config = 0x20, 0x0601, irq any, io 0x300-0x31f (width=16)
config = 0x21, 0x0601, irq any, io 0x320-0x33f (width=16)
register = 0, 0x40, 0x40

;
; Mitsubishi modem
;

[device]
manufacturer = “MITSUBISHI”
product = “CC3144”
info1 = “A5”
info2 = “PCMCIA MODEM”
regbase = 0x200
config = 0x20, 0x0201, irq any, io 0x3f8-0x3ff (width=8)
config = 0x21, 0x0201, irq any, io 0x2f8-0x2ff (width=8)
config = 0x22, 0x0201, irq any, io 0x3e8-0x3ef (width=8)
config = 0x23, 0x0201, irq any, io 0x2e8-0x2ef (width=8)
register = 0, 0x40, 0x40 ; level mode interrupts

;
; Data Race RediCARD v.32bis data, v.17 FAX
; From: Ross Koningstein rkoningstein@quics
;

[device]
manufacturer = “DATA RACE”
product = “V.32bis/FAX 145-01-24”
info1 = “5.50”
info2 = “”
regbase = 0x100
config = 0x20, 0x0201, irq any, io 0x3f8-0x3ff (width=8)
config = 0x21, 0x0201, irq any, io 0x2f8-0x2ff (width=8)
config = 0x22, 0x0201, irq any, io 0x3e8-0x3ef (width=8)
config = 0x23, 0x0201, irq any, io 0x2e8-0x2ef (width=8)
register = 0, 0x40, 0x40 ; level mode interrupts

;
; Xircom Performance Series CreditCard Ethernet Adapter IIps,
; Model PS-CE2-10BT
; From: Ross Koningstein rkoningstein@quics
;
; NOTE: Ross says this card doesn’t work with Net.ether1000
;

[device]
manufacturer = “Xircom”
product = “CreditCard 10Base-T”
info1 = “PS-CE2-10”
info2 = “2.02”
regbase = 0x800
config = 0x01, 0x0601, irq any, io 0x300-0x31f (width=16)
register = 0, 0x40, 0x40 ; level mode interrupts

;
; USRobotics modem
;

[device]
manufacturer = “USRobotics”
product = “PCMCIA 14,400 Fax”
info1 = “V1.0”
regbase = 0x1e6
config = 0x01, 0x0201, irq any, io 0x3f8-0x3ff (width=8)
config = 0x03, 0x0201, irq any, io 0x2f8-0x2ff (width=8)
config = 0x02, 0x0201, irq any, io 0x3e8-0x3ef (width=8)
config = 0x04, 0x0201, irq any, io 0x2e8-0x2ef (width=8)
;register = 0, 0x40, 0x40 ; level mode interrupts
vpp = 12.0

;
; Intel Fax modem
;

[device]
manufacturer = “Intel”
product = “Fax 9600”
info1 = “iNC210US”
regbase = 0x200
config = 0x20, 0x0201, irq any, io 0x3f8-0x3ff (width=8)
config = 0x21, 0x0201, irq any, io 0x2f8-0x2ff (width=8)
config = 0x22, 0x0201, irq any, io 0x3e8-0x3ef (width=8)
config = 0x23, 0x0201, irq any, io 0x2e8-0x2ef (width=8)

[device]
manufacturer = “Socket Communications, Inc.”
product = “Ethernet EA Lan Adapter”
info1 = “Revision H”
info2 = “10/17/95”
regbase = 0x3f8
config = 0x20, 0x0601, irq any, io 0x300-0x31f
config = 0x21, 0x0601, irq any, io 0x320-0x33f
config = 0x22, 0x0601, irq any, io 0x340-0x35f
config = 0x23, 0x0601, irq any, io 0x360-0x37f
register = 0, 0x40, 0x40 ; level mode interrupts

[device]
manufacturer = “Socket Communications Inc”
product = “Socket EA PCMCIA LAN Adapter Revision D”
regbase = 0x10000
config = 0x01, 0x0601, irq any, io any+32 (width=16)
config = 0x03, 0x0601, irq any, io 0x2a0-0x2bf (width=16)
config = 0x05, 0x0601, irq any, io 0x2c0-0x2df (width=16)
config = 0x07, 0x0601, irq any, io 0x2e0-0x2ff (width=16)
config = 0x09, 0x0601, irq any, io 0x300-0x31f (width=16)
config = 0x0b, 0x0601, irq any, io 0x320-0x33f (width=16)
config = 0x0d, 0x0601, irq any, io 0x340-0x35f (width=16)
config = 0x0f, 0x0601, irq any, io 0x360-0x37f (width=16)
register = 0, 0x40, 0x40 ; level mode interrupts

;
; New Socket EA card
;

[device]
manufacturer = “Socket Communications Inc”
product = “Socket EA PCMCIA LAN Adapter Revision E”
regbase = 0x10000
config = 0x01, 0x0601, irq any, io any+32 (width=16)
config = 0x03, 0x0601, irq any, io 0x2a0-0x2bf (width=16)
config = 0x05, 0x0601, irq any, io 0x2c0-0x2df (width=16)
config = 0x07, 0x0601, irq any, io 0x2e0-0x2ff (width=16)
config = 0x09, 0x0601, irq any, io 0x300-0x31f (width=16)
config = 0x0b, 0x0601, irq any, io 0x320-0x33f (width=16)
config = 0x0d, 0x0601, irq any, io 0x340-0x35f (width=16)
config = 0x0f, 0x0601, irq any, io 0x360-0x37f (width=16)
register = 0, 0x40, 0x40 ; level mode interrupts

[device]
manufacturer = “Adaptec, Inc.”
product = “APA-1460 SCSI Host Adapter”
info1 = “Version 0.01”
regbase = 0x2000
config = 0x09, 0x8002, irq any, io 0x340-0x35f (width=8)
config = 0x08, 0x8002, irq any, io 0x140-0x15f (width=8)
register = 0, 0x40, 0x40 ; level mode interrupts

[device]
regbase = 0x200
manufacturer = “Intel”
product = “FlashDrive”
info1 = “iFDP2SA”
config = 0x02, 0x0401, irq any, io 0x1f0-0x1f7, io 0x3f6-0x3f7
config = 0x03, 0x0401, irq any, io 0x170-0x177, io 0x376-0x377
register = 0, 0x40, 0x40 ; level mode interrupts

[device]
manufacturer = “SunDisk”
product = “SDP5”
info1 = “1.0”
regbase = 0x200
config = 0x02, 0x0401, irq any, io 0x1f0-0x1f7, io 0x3f6-0x3f7
config = 0x03, 0x0401, irq any, io 0x170-0x177, io 0x376-0x377
register = 0, 0x40, 0x40 ; level mode interrupts

[device]
manufacturer = “Contemporary Control Systems, Inc.”
product = “PCM20 Arcnet Adapter”
info1 = “Rev. A”
regbase = 0x200
config = 0x02, 0x603, irq any, io any+16 (width=8)
register = 0, 0x40, 0x40 ; level mode interrupts

[device]
manufacturer = “INTEGRAL PERIPHERALS”
product = “ATA CARD”
regbase = 0x200
config = 0x02, 0x0401, irq any, io 0x1f0-0x1f7, io 0x3f6-0x3f6
config = 0x03, 0x0401, irq any, io 0x170-0x177, io 0x376-0x376
register = 0, 0x40, 0x40 ; level mode interrupts

[device]
manufacturer = “SunDisk”
product = “SDP”
info1 = “5A1.1”
regbase = 0x200
config = 0x02, 0x0401, irq any, io 0x1f0-0x1f7 (width=16), io 0x3f6-0x3f7 (width=16)
config = 0x03, 0x0401, irq any, io 0x170-0x177 (width=16), io 0x376-0x377 (width=16)
register = 0, 0x40, 0x40 ; level mode interrupts

[device]
manufacturer = “SST”
product = “48CF096”
info1 = “55LD016-3C”
info2 = "FW3B "
regbase = 0x200
, mem any+0x800
config = 0x01, 0x0401, irq any, io any+16 (width=16)
config = 0x02, 0x0401, irq 14, io 0x1f0-0x1f7 (width=16), io 0x3f6-0x3f7 (width=16)
config = 0x03, 0x0401, irq 14, io 0x170-0x177 (width=16), io 0x376-0x377 (width=16)
register = 0, 0x40, 0x40 ; level mode interrupts

[device]
manufacturer = “CF”
product = “016MB”
info1 = “”
regbase = 0x200
, mem any+0x800
config = 0x01, 0x0401, irq any, io any+16 (width=16)
config = 0x01, 0x0401, irq any, io any+16 (width=16)
config = 0x02, 0x0401, irq 14, io 0x1f0-0x1f7 (width=16), io 0x3f6-0x3f7 (width=16)
config = 0x02, 0x0401, irq 14, io 0x1f0-0x1f7 (width=16), io 0x3f6-0x3f7 (width=16)
config = 0x03, 0x0401, irq 14, io 0x170-0x177 (width=16), io 0x376-0x377 (width=16)
config = 0x03, 0x0401, irq 14, io 0x170-0x177 (width=16), io 0x376-0x377 (width=16)
register = 0, 0x40, 0x40 ; level mode interrupts

[device]
manufacturer = " "
product = "CF/SSD-VER3.0 "
info1 = “”
regbase = 0x200
, mem any+0x800
config = 0x01, 0x0401, irq any, io any+16 (width=16)
config = 0x01, 0x0401, irq any, io any+16 (width=16)
config = 0x02, 0x0401, irq 14, io 0x1f0-0x1f7 (width=16), io 0x3f6-0x3f7 (width=16)
config = 0x02, 0x0401, irq 14, io 0x1f0-0x1f7 (width=16), io 0x3f6-0x3f7 (width=16)
config = 0x03, 0x0401, irq 14, io 0x170-0x177 (width=16), io 0x376-0x377 (width=16)
config = 0x03, 0x0401, irq 14, io 0x170-0x177 (width=16), io 0x376-0x377 (width=16)
register = 0, 0x40, 0x40 ; level mode interrupts

[device]
manufacturer = "CL ATA FLASH CARD LEXAR "
product = “TORNADO”
info1 = “V.014”
regbase = 0x200
, mem any+0x800
config = 0x01, 0x0401, irq any, io any+16 (width=16)
config = 0x01, 0x0401, irq any, io any+16 (width=16)
config = 0x02, 0x0401, irq 14, io 0x1f0-0x1f7 (width=16), io 0x3f6-0x3f7 (width=16)
config = 0x02, 0x0401, irq 14, io 0x1f0-0x1f7 (width=16), io 0x3f6-0x3f7 (width=16)
config = 0x03, 0x0401, irq 14, io 0x170-0x177 (width=16), io 0x376-0x377 (width=16)
config = 0x03, 0x0401, irq 14, io 0x170-0x177 (width=16), io 0x376-0x377 (width=16)
register = 0, 0x40, 0x40 ; level mode interrupts

[device]
manufacturer = "TOSHIBA THNCF032MBA "
product = “”
info1 = “”
info2 = “”
regbase = 0x200
, mem any+0x800
config = 0x01, 0x0401, irq any, io any+16 (width=16)
config = 0x01, 0x0401, irq any, io any+16 (width=16)
config = 0x02, 0x0401, irq 14, io 0x1f0-0x1f7 (width=16), io 0x3f6-0x3f7 (width=16)
config = 0x02, 0x0401, irq 14, io 0x1f0-0x1f7 (width=16), io 0x3f6-0x3f7 (width=16)
config = 0x03, 0x0401, irq 14, io 0x170-0x177 (width=16), io 0x376-0x377 (width=16)
config = 0x03, 0x0401, irq 14, io 0x170-0x177 (width=16), io 0x376-0x377 (width=16)
register = 0, 0x40, 0x40 ; level mode interrupts; socket 1

[device]
manufacturer = “SunDisk”
product = “SDP”
info1 = “5/3 0.6”
regbase = 0x200
, mem any+0x800
config = 0x01, 0x0401, irq any, io any+16 (width=16)
config = 0x02, 0x0401, irq 14, io 0x1f0-0x1f7 (width=16), io 0x3f6-0x3f7 (width=16)
config = 0x03, 0x0401, irq 14, io 0x170-0x177 (width=16), io 0x376-0x377 (width=16)
register = 0, 0x40, 0x40 ; level mode interrupts

Could you widen/change the range of addresses in your pcmcia.cfg file (I usually use 0x320-0x35f)
If it doesn’t help, try to remove ‘, mem any+’ line from Sundisk section in pcmcia.cards file. You have to restart Pcmcia.generic after the changes (to be sure they are accepted).

Hello,

I have a similar problem with QNX4.25D . I use a PCMCIA - PC104 interface board. QNX detects and run fine a 3COM network interface cards , but it doesn"t detects any of my several ATA flash cards.

When I use pin I get
Sock Win Type Flags PID Base Size IRQ …
1 0 Memory C—M--------W None - - …

When I use pin cis I get nothing :cry: .
and pin cfg I get the following errors
pin : Unknown or missing card type
register = 0, 0x40,0x40 ; mode level interrupt

I have tried different ATA cards ( 8 Mb , 32 , 64 , SanDisk and Pretec )

Does it exist a difference between network / ATA at the PCMCIA interface level ? ( power supply, bus speed or something else ? )

Any helps is appreciated.

Try the latest QNX4.25 (probably E or G) and post your pcmcia.cfg file

Thanks pky,

I’am currently downloading the latest release of 4.25, but I don’t understand how PCMCIA cards works . specially the CIS information. I supposed than all cards ( network , ata , etc … ) offer the same interface to the PCMCIA driver. and I 'm surprise than QNX detects CIS of network and doesn’t detect all my flash ata cards with the pin cis command.
I 've supposed than the driver first reads the cis and after looks for a match in the PCMCIA.cards file

but unfortunalty, in my case the pin cis command return nothing :frowning:

Do you think i’m wrong ?

This is my understanding of PCMCIA:

  • card holds information about needed resources
  • OS can read this data and program PCMCIA chip accordingly
  • use can start driver acessing the card

Your problem seems to be either:

  • PCMCIA chip is not “programmed” correctly and OS can’t read CIS info (HW conflict??)
  • your card is not fully compatible (doesn’t hold cis info???)

Try the latest QNX and play with resources. That’s all I can recomend you.

The lastest patch (G I think) has a new revamp set of utility for PCMCIA, it actually support 32 bit mode (PCCARD) which works more like a PCI bus.

Try it out

Thanks pky,
I try widen the add port address and it is still not setting the Base and interrupt. I also try deleting the , mem any+0x800 line. It still behave the same way. Is there anything else that I can try?

kw