IBM Bluetooth PC Card II - configuration problem

Szigetvári János jszigetvari at
Sun Jan 3 18:39:28 EST 2010


2010/1/3 Dominik Brodowski <linux at>:
> Well, as Dave said in this message
> | The serial_cs driver also has some code to recognize and treat OXCF950
> | based cards specially, and you may need to tweak that to recognize the
> | manfid's for this card.
> so let's try this -- first patch #1, and if that isn't enough, patch #2; if
> both do not work I have one other idea...

I tried both patches, but the result was that only the second (8250
type) UART was recognized by the kernel.

When I looked at your patch it came to me, that I had also worked on
this part of the code before when I was tinkering with the serial_cs
module to bring a cheap Chinese no-name PCMCIA serial card to life
under Linux.

These cards expose 16 IO ports, eight of which is the actual UART, and
some registers take up the remaining eight IO ports.
By default the kernel recognized the 16C950 UART correctly, but  the
second "phantom" UART came to existence because of the other eight IO
In your patch you made the kernel treat the card the same as the other
Oxford Semiconductor-based cards. In that case the first eight IO
ports were used for the registers, and the last eight ports were used
by the UART.

In case of this TDK/IBM card, it's the opposite. (This could be seen
by the fact that the UART of the type 16C950 was recognized first, and
that it was at the beginning of the IO range mentioned in the CIS.)

So I added a new braching  (specific to this card) to the code, and
made the kernel use the first eight ports for the UART and the last
eight for the registers.
(Also there was no point in checking for the config table indexes, as
the CIS for this card contains only one entry.)

I also added the Product ID of this card to /include/pcmcia/ciscode.h
for better readability.

As a result of my modifications, the card now works as a HCI device!

I attached the diff file, and the modified CIS to this message.
Thanks again for the hints, ideas, and the guidance you provided!

-------------- next part --------------
A non-text attachment was scrubbed...
Name: ibmbt.diff
Type: application/octet-stream
Size: 2055 bytes
Desc: not available
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: IBMBT.cis
Type: application/octet-stream
Size: 72 bytes
Desc: not available
URL: <>

More information about the linux-pcmcia mailing list