I have a problem with my BC-307 CF GPS card. I'm using the pcmcia adapter that came with the card in a Ricoh RL5c475 (PCD-RP-101CS) PCI card adapter.
When I insert the CF card, I get a system lockup when cardmgr is running. Removing the card causes the system to recover.
Without cardmgr running, diagnostics follow:
3.3V 16-bit PC Card
function 0: [ready]
Vcc 3.3V Vpp1 3.3V Vpp2 3.3V
no product info available
When I start cardmgr the system locks up, so after removal of the card, syslog has:
kernel: Linux Kernel Card Services 3.1.22
kernel: options: [pci] [cardbus] [pm]
kernel: PCI: Found IRQ 12 for device 00:0e.0
kernel: Yenta ISA IRQ mask 0x0000, PCI irq 12
kernel: Socket status: 30000816
cardmgr: watching 1 socket
kernel: cs: IO port probe 0x0c00-0x0cff: clean.
kernel: cs: IO port probe 0x0800-0x08ff: clean.
kernel: cs: IO port probe 0x0100-0x04ff: excluding 0
x170-0x177 0x370-0x37f 0x4d0-0x4d7
cardmgr: socket 0: Serial or Modem
kernel: ttyS17 at port 0x0100 (irq = 12) is a 16C950
kernel: ttyS17 unloaded
I also found that at one point the card issued the following into syslog, which I added to config:
cardmgr: product info: "CF CARD", "GENERIC", "", ""
cardmgr: manfid: 0x0279, 0x950b function: 2 (serial)
Changing the port range (limiting it to the device only) appears to change the tty, but the system still locks up.
Since you've tried changing the port range and that did not help, I'd bet that the problem is with the interrupt assignment. The choice of irq 12 is probably bad; maybe you've got a mouse on irq 12 already? Since this is a PCI-to-CardBus adapter, you can't just edit /etc/pcmcia/config.opts to change the interrupt assignment. Try booting with a kernel parameter of "pci=irqmask=0xefff".