Messages in this thread | | | Date | Sun, 13 Jun 2004 13:20:51 +0200 | From | Vojtech Pavlik <> | Subject | Re: 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/
| |