lkml.org 
[lkml]   [2004]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Solution to the "1802: Unauthorized network card" problem in recent thinkpad systems
On Sun, Jun 13, 2004 at 12:39:50AM -0700, Tisheng Chen wrote:

> In recent IBM thinkpad systems, there is a limit to
> allowed MiniPCI wireless cards. When an unauthorized
> card is plugged in, the system doesn't boot and
> halt with an error message like:
>
> ERROR
> 1802: Unauthorized network card is plugged in
> Power off and remove the miniPCI network card.

[snip]

> The other way is unbelievably simple. There is a byte
> in CMOS which controls whether an "unauthorized" card
> is allowed or not. That's 0x6a, actually only
> the bit 0x80. The program to unlock the authorization
> mechanism is like (asm):
>
> MOV DX,0070
> MOV AL,6A
> OUT DX,AL
> MOV DX,0071
> IN AL,DX
> OR AL,80
> OUT DX,AL
> MOV AX,4C00
> INT 21
>
> The program can be downloaded from:
> http://jcnp.pku.edu.cn/~shadow/1802/no-1802.com
> To use this program, you need to boot to DOS.
>
> The CMOS solution is safe, but I'm not sure that it
> works for all recent thinkpads and all cards. The BIOS
> crack sure does, however it is difficult
> and dangerous.

Well, here is a version for Linux:

------------------------------------------------------------

#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, 0x6a, SEEK_SET);
read(fd, &data, 1);
printf("CMOS address 0x6a: %02x->", data);
data &= ~0x80;
printf("%02x\n", data);
lseek(fd, 0x6a, SEEK_SET);
write(fd, &data, 1);
close(fd);
printf("Done.\n");
}

------------------------------------------------------------

I've tried it on my ThinkPad X31, but it doesn't work at all. The CMOS
has a value 0xfa at the offset 0x6a, so the most upper bit is already
set.

--
Vojtech Pavlik
SuSE Labs, SuSE CR
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:03    [W:0.051 / U:0.460 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site