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