https://www.thinkwiki.org/w/api.php?action=feedcontributions&user=Zultron&feedformat=atomThinkWiki - User contributions [en]2024-03-29T07:07:28ZUser contributionsMediaWiki 1.31.12https://www.thinkwiki.org/w/index.php?title=Problem_with_unauthorized_MiniPCI_network_card&diff=21202Problem with unauthorized MiniPCI network card2006-03-30T03:46:12Z<p>Zultron: /* Affected Models */</p>
<hr />
<div>==Problem Description==<br />
Although the MiniPCI slot is an industry standard and can accept any MiniPCI adapter, the IBM BIOS is set to only allow you to boot with an 'authorized' adapter installed. Attempts to install an unsupported card will result in the following message:<br />
<br />
1802: Unauthorized network card is plugged in - Power off and remove the miniPCI network card.<br />
<br />
This is because the card's sub-vendor PCI-ID (which can be seen using ''lspci -v'') are checked against a [[Wikipedia:Whitelist|whitelist]] in the BIOS. IBM's reasoning for this is that the combination of MiniPCI card and the integrated antenna in the ThinkPad needs to be certified by the US FCC (Federal Communications Commission).{{footnote|1}} or similar agencies in other countries.<br />
<br />
==Affected Models==<br />
All machines with integrated WiFi, or machines with WiFi added<br />
<br />
==Affected Operating Systems==<br />
All - problem is in the BIOS<br />
<br />
==Status==<br />
* Workarounds exist for most affected models.<br />
<br />
==Solutions==<br />
It may be possible to use the computer with the unauthorized card deactivated (but not removed). Press {{key|F1}} to enter the BIOS and deactivate the WLAN card, then attempt to boot with the card disabled. This does not make the wireless card work, but it may allow you to boot the computer normally.<br />
<br />
{{NOTE|Any of the following solutions should suffice to make the wireless card useable. You only need to perform one of them.}}<br />
<br />
* You may can modify the BIOS whitelist to include the PCI-ID of the card you wish to use. The complete instructions for this procedure are [http://www.paul.sladen.org/thinkpad-r31/wifi-card-pci-ids.html here].<br />
{{WARN|It is dangerous to mess with your BIOS, you can easily make your machine unbootable, proceed with caution!}}<br />
<br />
* A safer method than modifying the BIOS is modifying the PCI-ID of the wlan card. The instructions are [http://www.dagarlas.org/stuff/computing/article0001.php here]. This page is for Atheros-based cards and HP notebooks, but it applies to Thinkpads as well. It also has links on how to edit the PCI-ID on Intel Pro Wireless cards. <br />
{{NOTE|Modifying your PCI-ID will require either a laptop without a BIOS lock or a PCI adapter for your desktop. Also, this procedure can render your card useless, but that's better than bricking your laptop.}}<br />
<br />
* You can use the [[Problem with error 01C9 - More than one Ethernet devices | no-1802 and no-01C9 Linux Live CD]] without applying the no-01C9 patch. It is very convenient to use and based on the C code below.<br />
<br />
* You can use the DOS [http://jcnp.pku.edu.cn/~shadow/1802/no-1802.com no-1802] utility, written by Tisheng Chen.{{footnote|2}} It will set a certain bit in the CMOS memory which disables the whitelist check, but it has been reported not to work on the latest machines, such as the T43<br />
<br />
* You can compile and run (as root) the following C-code, which was written by Matthew Garrett. It was based on the code written by Vojtech Pavlik, which in turn was based on the assembly used in the no-1802 program. {{footnote|3}}<br />
<br />
<code><br />
#include <stdio.h><br />
#include <sys/types.h><br />
#include <unistd.h><br />
#include <sys/stat.h><br />
#include <fcntl.h><br />
<br />
int main(void)<br />
{<br />
int fd;<br />
unsigned char data;<br />
<br />
fd = open("/dev/nvram", O_RDWR);<br />
if (fd==-1) {<br />
printf("Opening /dev/nvram failed\n");<br />
return 1;<br />
}<br />
printf("Disabling WiFi whitelist check.\n"); <br />
<br />
/* BIG INFORMATIONAL WARNING */ <br />
/* The linux nvram driver doesn't give access to the first 14 bytes of<br />
the CMOS. As a result, we seek to 0x5c rather than 0x6a. If you're <br />
implementing this under another OS, then you'll have to go to whichever<br />
address is appropriate for your access method */<br />
<br />
lseek(fd, 0x5c, SEEK_SET);<br />
read(fd, &data, 1);<br />
printf("CMOS address 0x5c: %02x->", data);<br />
data |= 0x80;<br />
printf("%02x\n", data);<br />
lseek(fd, 0x5c, SEEK_SET);<br />
if (write(fd, &data, 1)<0) {<br />
printf("Unable to write to /dev/nvram - hack failed\n");<br />
close(fd);<br />
return 2;<br />
}<br />
close(fd);<br />
printf("Done.\n");<br />
return 0;<br />
}<br />
<br />
</code><br />
{{NOTE|On T43's and probabily others, the BIOS hacks and the "no-1802" utility don't work.}}<br />
<br />
==Sucessful BIOS Modifications==<br />
{{WARN|This table is meant to give users an idea of what models have been successfully modified and how. As stated before, it is dangerous to mess with your BIOS, you can easily make your machine unbootable. Please proceed with caution!}}<br />
<br />
<br />
The following table contains information about ThinkPad models that have been sucessfully modified to run an unauthorized Mini PCI card. {{footnote|4}} <br />
<br />
{| align="center" cellpadding="2" width="100%" style="border:1px; background:grey;"<br />
! style="background:#efefef;"| Model <br />
! style="background:#efefef;"| Type <br />
! style="background:#efefef;"| BIOS Version <br />
! style="background:#efefef;"| Operating System <br />
! style="background:#efefef;"| Method <br />
! style="background:#efefef;"| Success<br />
|- style="background: white;" <br />
| ThinkPad R31<br />
| 2656-6FG <br />
| 3.11 (12-01-2004) <br />
| Windows XP Boot Disk <br />
| no-1802 utility<br />
! style ="color:green;"| Yes<br />
|- style="background: white; color:black;"<br />
| ThinkPad R40<br />
| 2896-J3U <br />
| 1.24 (10-18-2005) <br />
| Fedora Core 4 <br />
| Vojtech Pavlik code<br />
! style ="color:green;"| Yes <br />
|- style="background: white; color:black;"<br />
| ThinkPad R40<br />
| 2681-L7U <br />
| 1.24 (10-18-2005) <br />
| Windows XP Pro <br />
| no-1802 utility<br />
! style ="color:green;"| Yes <br />
|- style="background: white; color:black;"<br />
| ThinkPad T30 <br />
| 2366-97G <br />
| 2.09 (08-08-2005) <br />
| Windows XP Pro <br />
| no-1802 utility <br />
! style ="color:green;"| Yes<br />
|- style="background: white; color:black;"<br />
| ThinkPad T40<br />
| 2373-82U <br />
| 3.18 (09-15-2005)<br />
| Windows XP/ SUSE 10.1<br />
| No-1802 utility<br />
! style ="color:green;"| Yes<br />
|- style="background: white; color:black;"<br />
| ThinkPad X30 <br />
| 2672-41j <br />
| 1.08 (08-09-2005)<br />
| Gentoo Kernel 2.6.15 <br />
| no-1802 utility<br />
! style ="color:green;"| Yes<br />
|- style="background: white; color:black;"<br />
| ThinkPad X31 <br />
| 2673-C27 <br />
| 3.02 (22-09-2005) <br />
| Ubuntu 5.10 (kernel 2.6.12-9-386) <br />
| Matthew Garrett code {{footnote|3}}<br />
! style ="color:green;"| Yes<br />
|- style="background: white; color:black;"<br />
| ThinkPad X31 <br />
| 2672-1UG <br />
| 3.02 (22-09-2005) <br />
| FreeBSD 6-STABLE<br />
| no-1802 Linux Live CD<br />
! style ="color:green;"| Yes<br />
|}<br />
<br />
==External Sources==<br />
* Additional Information about "Unauthorised" MiniPCI adapters can be found on [http://www.srcf.ucam.org/~mjg59/thinkpad/wireless.html Matthew Garrett's website].<br />
<br />
* Thinkpad Mini PCI Wireless [http://www.srcf.ucam.org/~mjg59/thinkpad/tables.html compatibility matrix].<br />
<br />
{{footnotes|<br />
#This is explained in a [http://lkml.org/lkml/2003/6/3/162 message to the LKML] and subsequently [http://lkml.org/lkml/2003/6/9/50 clarified].<br />
#The no-1802 tool was announced and explaned in a [http://mailman.linux-thinkpad.org/pipermail/linux-thinkpad/2004-June/018253.html message to the Linux-Thinkpad ML].<br />
#Vojtech Pavlik's C-code was originally posted in a [http://lkml.org/lkml/2004/6/13/69 message to the LKML]. It was based on the assembly used in the no-1802 program. Matthew Garrett [http://www.srcf.ucam.org/~mjg59/thinkpad/hacks.html rewrote] the code to provide more error checking.<br />
#This information has been added by users. Please feel free to add systems if you have had personal success or failure.<br />
}}</div>Zultronhttps://www.thinkwiki.org/w/index.php?title=IBM_High_Rate_Wireless_LAN_Mini-PCI_Adapter_with_Modem&diff=21201IBM High Rate Wireless LAN Mini-PCI Adapter with Modem2006-03-30T03:41:10Z<p>Zultron: /* ThinkPads this card may be found in */</p>
<hr />
<div>__NOTOC__<br />
{| width="100%"<br />
|style="vertical-align:top" |<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
=== IBM High Rate Wireless LAN Mini-PCI Adapter with Modem ===<br />
This is a Mini-PCI combination WiFi and Modem Adapter that is installed in a Mini-PCI slot.<br />
<br />
=== WiFi Features ===<br />
* Chipset: Harris Semiconductor Prism 2.5<br />
* IEEE Standards: 802.11b<br />
* PCI ID: 1260:3873<br><br />
=== Modem Features ===<br />
* Chipset: Actiontec<br />
</div><br />
|style="vertical-align:top" |<br />
[[image:mini-pci-wifi-card.gif|Mini-PCI WiFi Adapter]]<br />
|}<br />
=== IBM Partnumbers ===<br />
IBM FRU PN: 26P8092, 26P8160, 26P8472, 12P3637, 12P3657, 91P7661, 26P8294, 26P8295<br />
<br />
=== Also known (in IBM literature) as.... ===<br />
* Mini PCI 802.11b/v.92 modem combo card (ACTIONTEC)<br />
* Actiontec (802.11b wireless / 56K modem)<br />
* Actiontec IEEE 802.11b/Modem<br />
* High rate wireless/modem Mini PCI combo card<br />
<br />
=== Linux WiFi driver ===<br />
This adapter works with the '[[orinoco|orinoco_pci]]' driver as part of any recent 2.4 or 2.6 kernel.<br><br />
In addition the '[[hostap]]' driver can also be used.<br />
<br />
=== Linux Modem driver ===<br />
http://www.smlink.com Use SLMODEM driver for this modem (Smart Link Modem)<br />
<br />
=== ThinkPads this card may be found in ===<br />
* {{A30}}, {{A30p}}, {{A31}}, {{A31p}}<br />
* {{R30}}, {{R31}}, {{R32}}<br />
* {{T23}}, {{T30}}<br />
* {{X22}}, {{X23}}, {{X24}}<br />
<br />
Mini-PCI wireless cards of any type may be installed on X2-series models that didn't originally have internal wireless if you are willing to do some hacking to add an antenna. The LCD rear cover block radio signals. The Wifi-equipped models had cutouts on the sides of the LCD rear cover near the top of the screen; these were covered with regular, non-signal blocking plastic covers. The antennas were the type with a thin, 1" vane, and were mounted directly under the surface of the side, and very close to the front edge of the screen. Presumably this gives them maximal clearance from the back of the LCD cover. The wires are then routed down the sides and across the bottom, and pass through the left hinge, plugging into the Mini-PCI card under the left side of the keyboard.<br />
<br />
The parts to do an original antenna install may also be purchased from the parts suppliers, with the exception of the plastic cutout covers. You will need: 26P9819, rear LCD cover, wireless; 26P9826, the LCD brackets (which have mounts for the antennas); 26P9824, wireless antennas.<br />
<br />
Be careful when choosing a Mini-PCI adaptor: try to get one with the connectors as close to the back edge as possible, since the antenna leads may not have much extra length. Also, some adaptors, such as the Senao, may appear to the BIOS as ethernet cards; this will cause the BIOS to complain annoyingly about two ethernet cards installed, requiring you to hit the <Esc> key at every boot.<br />
<br />
===External Sources===<br />
*Specifications: [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-44033 MIGR-44033]<br />
*Users Guide: [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-44134 MIGR-44134]<br />
*Service Parts: [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-44051 MIGR-44051]<br />
*[http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-51424 IBMs page on Wireless configuration under Linux]<br />
<br />
<br />
[[Category:Components]]</div>Zultronhttps://www.thinkwiki.org/w/index.php?title=Bluetooth_Daughter_Card_(BDC)&diff=21200Bluetooth Daughter Card (BDC)2006-03-30T03:28:16Z<p>Zultron: /* ThinkPads this card may be found in */</p>
<hr />
<div>__NOTOC__<br />
{| width="100%"<br />
|style="vertical-align:top" |[[Image:Logo_bluetooth.jpg|Bluetooth Logo]]<br />
|style="vertical-align:top" |<br />
<div style="margin:0px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
=== Bluetooth Daughter Card (BDC) ===<br />
This is a USB Bluetooth Adapter that is installed in a [[CDC slot]].<br />
=== Features ===<br />
* Chipset: TDK<br />
* USB ID: 04bf:0310<br />
</div><br />
|}<br />
=== IBM Partnumbers ===<br />
IBM FRU PN: 12P3872, 26P8071<br />
<br />
=== Also known (in IBM literature) as.... ===<br />
* Bluetooth Daughter Card<br />
* Bluetooth Daughter Card board<br />
* BDC board<br />
=== Firmware ===<br />
A firmware update is available for this adapter from IBM.<br><br />
The updated firmware is version 310, and is available [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=ibm&lndocid=MIGR-44264 here]<br />
<br />
This firmware update can unfortunately only be applied from Windows.<BR><br />
In theory an update for Linux exists; the BTDFU update utility that can be found on the pages of Marcel Holtmann, the current Linux BlueZ stack maintainer, which can be found [http://www.holtmann.org/linux/bluetooth/dfu.html here]. You need to get the original IBM update file and extract the file with the extension "dfu" from it using cabextract. Using the btdfu tool and this file it should be possible to update the firmware. This procedure has not yet been confirmed.<br />
<br />
=== Linux driver ===<br />
This card will work with the standard Linux Bluetooth drivers as part of any recent 2.4 or 2.6 kernel<br />
<br />
This device is implemented as a USB device, which can be enabled or disabled using a button under the display.<br />
<br />
Also be aware that this card has a three pin connector used for currently unknown purposes. The later model Thinkpads have a two pin connector that will not fit.<br />
<br />
=== ThinkPads this card may be found in ===<br />
* {{A30}}, {{A30p}}, {{A31}}, {{A31p}}<br />
* {{T30}}<br />
* {{X23}}, {{X24}}<br />
* {{X30}}<br />
<br />
I have found that this card may be added to non-bluetooth X24s; this may be possible with other non-bluetooth models from the list above. It may NOT be added to X22s of any kind.<br />
<br />
To add a BDC to an X24, you will also have to add the bluetooth hinge covers with the button on the right side, p/n 46l6540 (available from ACS for about $25, incl. ship). The non-bluetooth X24s have the physical switch and BT LED on the motherboard already. The button on the hinge cover is just a piece of plastic that reaches down to the m/b and pushes the switch. You will also have to install an antenna. I don't know what kind of antenna was included with the original bluetooth models. However, a laptop Wifi antenna with the u.fl connector may be used (search for laptop antenna on ebay). Finding a good place to place the antenna may be tricky, since the (special) plastic LCD cover, the bottom chassis, and the keyboard bezel all seem to block radio signals (hence the cutouts on the side of the lid on WiFi models). Any more hints about original antennas and other supported models would be appreciated!<br />
<br />
===External Sources===<br />
*[http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-51427 IBMs page about configuring Bluetooth under Linux]<br />
<br />
<br />
[[Category:Components]]</div>Zultron