Hi, 2009/12/29 Dominik Brodowski <li...@dominikbrodowski.net>: > This won't work for recent 2.6. kernels. Instead, you have two options: > a) (ugly) manually telling the kernel to use a new CIS: > > # (as root) > # cat cis/IBMBT.dat > /sys/class/pcmcia_socket/pcmcia_socket0/cis > > b) (preferred) patching the kernel to handle the case correctly. > > Add a line to drivers/serial/serial_cs.c:serial_ids[] containing > > PCMCIA_DEVICE_CIS_MANF_CARD(0x0105, 0x4254, "cis/IBMBT.cis")
Thanks for the guidance! I chose the latter method, and my modified CIS is now loaded every time I insert the card. The two CISes look like this: The old one: dev_info NULL 0ns, 512b manfid 0x0105, 0x4254 funcid serial_port [post] vers_1 7.1, "IBM", "Bluetooth PC Card II", "", "" config base 0x00f8 mask 0x000f last_index 0x04 cftable_entry 0x03 [default] [rdybsy] Vcc Vnom 5V io 0x01e0-0x01ef [lines=8] [8bit] [range] irq mask 0xffff [level] [shared] cftable_entry 0x04 io 0x0000-0x7fff [lines=15] [8bit] And the new modified one: dev_info NULL 0ns, 512b manfid 0x0105, 0x4254 funcid serial_port [post] vers_1 7.1, "IBM", "Bluetooth PC Card II", "", "" config base 0x00f8 mask 0x000f last_index 0x03 cftable_entry 0x03 [default] [rdybsy] Vcc Vnom 5V io 0x01e0-0x01ef [lines=8] [8bit] [range] irq mask 0xffff [level] [shared] However there is now an other thing. The kernel recognizes the card as having two serial UART-s: pcmcia_socket pcmcia_socket1: pccard: PCMCIA card inserted into slot 1 pcmcia 1.0: pcmcia: registering new device pcmcia1.0 pcmcia 1.0: firmware: requesting cis/IBMBT.cis ttyS1: detected caps 00000700 should be 00000100 1.0: ttyS1 at I/O 0x1e0 (irq = 3) is a 16C950/954 1.0: ttyS2 at I/O 0x1e8 (irq = 3) is a 8250 As the guys back at http://osdir.com/ml/linux.pcmcia.devel/2003-04/msg00001.html said this card uses a Oxford Semuconductor 16950-based UART. As it can be seen it is (correctly?) detected. However the kernel detects another UART of an older type. I don't really know why that is. After this if I use the following command, I get the following: r...@orion:~# hciattach -p ttyS1 any 2597 r...@orion:~# hciconfig -a hci0: Type: UART BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0 DOWN INIT RUNNING RX bytes:0 acl:0 sco:0 events:0 errors:0 TX bytes:4 acl:0 sco:0 commands:1 errors:0 After some googling I found out that this is a TDK-made card, and that instead of "any", I should try "tdk" as the UART type: r...@orion:~# hciattach -p ttyS1 tdk BCSP initialization timed out. So in the end I still can't use the card, although I got one step further. Any comments or ideas on how I could fix this issue are welcome. Regards, Janos _______________________________________________ Linux PCMCIA reimplementation list http://lists.infradead.org/mailman/listinfo/linux-pcmcia