Error 1802: IBM T41 doesn't like other network cards

Phillip Crumpler listsubs at crippy.mel.crumpler.com.au
Thu Sep 23 04:57:37 PDT 2004


Hello hackers,

Wanting to try out Sam Leffler's wireless layer back-port I tried to 
replace the Intel miniPCI wireless card in my Thinkpad T41 (2373) with 
an Atheros based one. I had a Netgear WAG311 handy - these are an 
Atheros miniPCI wireless NIC on a PCI carrier - so I levered the top off 
  and freed the miniPCI card.

Ten minutes of open-notebook surgery later I started the machine with 
the replacement card in, only to find it won't boot:

ERROR
1802 Unauthorized network card is plugged in - Power off and remove the 
miniPCI card.

It seems that the IBM BIOS refuses to boot if the miniPCI card installed 
is on IBM's approved list. This thread:

http://www.ussg.iu.edu/hypermail/linux/kernel/0406.1/1048.html

describes a workaround that requires a byte to be set in the cmos, 
including a snippet (below) to do the job on linux. This opens and 
writes to /dev/nvram to set the byte.

Is there an equivalent on FreeBSD? Would I find the CMOS somewhere in 
/dev/mem?

Anyone else has similar problems? BMS@ reported ditching the Centrino 
card in his T40 but didn't mention if he replaced it with something else.

thanks

Phillip Crumpler

============================================================


#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/stat.h>
#include <fcntl.h>

int main(void)
{
int fd;
unsigned char data;

printf("Disabling WiFi whitelist check.\n");
fd = open("/dev/nvram", O_RDWR);
lseek(fd, 0x5c, SEEK_SET);
read(fd, &data, 1);
printf("CMOS address 0x5c: %02x->", data);
data |= 0x80;
printf("%02x\n", data);
lseek(fd, 0x5c, SEEK_SET);
write(fd, &data, 1);
close(fd);
printf("Done.\n");
}


More information about the freebsd-mobile mailing list