mengao
Group: Members
Posts: 2
Joined: Nov. 2006 |
|
Posted: Nov. 24 2006,17:41 |
|
I'm having considerable problems to install a WiFi PCMCIA card on an old laptop.
The facts: I had an old Compaq Armada "collecting dust" and decided to install DSL. More as a challenge to see how far I can get with DSL, WLAN, ... This laptop is an 160 MHz Pentium I PC, with a 1GB disk, and 16 MB of RAM. However no wireless LAN, well, ..., not even LAN, just an analog modem. The WLAN card is called "X-Micro", according to the driver a "Realtek RTL8180L 802.11b MAC" This is what dmesg tells me after booting:
Code Sample | Linux version 2.4.26 (root@Knoppix) (gcc version 2.95.4 20011002 (Debian prerelease)) #1 SMP Sa Apr 17 19:33:42 CEST 2004 BIOS-provided physical RAM map: BIOS-e801: 0000000000000000 - 000000000009f000 (usable) BIOS-e801: 0000000000100000 - 0000000001000000 (usable) 0MB HIGHMEM available. 16MB LOWMEM available. On node 0 totalpages: 4096 zone(0): 4096 pages. zone(1): 0 pages. zone(2): 0 pages. DMI not present. ACPI: Unable to locate RSDP Kernel command line: BOOT_IMAGE=Linux ro root=302 hda=scsi hdb=scsi hdc=scsi hdd=scsi hde=scsi hdf=scsi hdg=scsi hdh=scsi apm=power-off nomce noapic ide_setup: hda=scsi ide_setup: hdb=scsi ide_setup: hdc=scsi ide_setup: hdd=scsi ide_setup: hde=scsi ide_setup: hdf=scsi ide_setup: hdg=scsi ide_setup: hdh=scsi No local APIC present or hardware disabled Initializing CPU#0 Detected 116.881 MHz processor. Console: colour VGA+ 80x25 Calibrating delay loop... 232.65 BogoMIPS Memory: 13260k/16384k available (1371k kernel code, 2736k reserved, 561k data, 140k init, 0k highmem) Dentry cache hash table entries: 2048 (order: 2, 16384 bytes) Inode cache hash table entries: 1024 (order: 1, 8192 bytes) Mount cache hash table entries: 512 (order: 0, 4096 bytes) Buffer cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 4096 (order: 2, 16384 bytes) Intel Pentium with F0 0F bug - workaround enabled. CPU: After generic, caps: 000001bf 00000000 00000000 00000000 CPU: Common caps: 000001bf 00000000 00000000 00000000 Checking 'hlt' instruction... OK. Checking for popad bug... OK. POSIX conformance testing by UNIFIX mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au) mtrr: detected mtrr type: none CPU: After generic, caps: 000001bf 00000000 00000000 00000000 CPU: Common caps: 000001bf 00000000 00000000 00000000 CPU0: Intel Pentium 75 - 200 stepping 0c per-CPU timeslice cutoff: 161.00 usecs. SMP motherboard not detected. Local APIC not detected. Using dummy APIC emulation. Waiting on wait_init_idle (map = 0x0) All processors have done init_idle ACPI: Subsystem revision 20040326 ACPI: Interpreter disabled. PCI: PCI BIOS revision 2.10 entry at 0xf73c3, last bus=0 PCI: Using configuration type 1 PCI: Probing PCI hardware PCI: ACPI tables contain no PCI IRQ routing entries PCI: Probing PCI hardware (bus 00) isapnp: Scanning for PnP cards... isapnp: No Plug & Play device found Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Starting kswapd VFS: Disk quotas vdquot_6.5.1 pty: 256 Unix98 ptys configured Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx OPTI621X: IDE controller at PCI slot 00:14.0 OPTI621X: chipset revision 18 OPTI621X: not 100% native mode: will probe irqs later OPTI621X: neither IDE port enabled (BIOS) hda: TOSHIBA MK1002MAV, ATA DISK drive hdb: UJDCD8700, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hda: attached ide-disk driver. hda: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error } hda: task_no_data_intr: error=0x04 { DriveStatusError } hda: 2116800 sectors (1084 MB) w/128KiB Cache, CHS=525/64/63 Partition check: hda: hda1 hda2 ide: late registration of driver. SCSI subsystem driver Revision: 1.00 kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2 kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2 Initializing Cryptographic API NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 1024 bind 1024) NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. VFS: Mounted root (ext2 filesystem) readonly. Freeing unused kernel memory: 140k freed Real Time Clock Driver v1.10f Adding Swap: 124952k swap-space (priority -1) hdb: attached ide-scsi driver. scsi0 : SCSI host adapter emulation for IDE ATAPI devices Vendor: MATSHITA Model: UJDCD8700 Rev: 1.06 Type: CD-ROM ANSI SCSI revision: 02 Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0 sr0: scsi3-mmc drive: 8x/8x xa/form2 cdda tray Uniform CD-ROM driver Revision: 3.12 apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16) Linux Kernel Card Services 3.1.22 options: [pci] [cardbus] [pm] Yenta ISA IRQ mask 0x06f8, PCI irq 15 Socket status: 30000006 Yenta ISA IRQ mask 0x06f8, PCI irq 11 Socket status: 30000020 cs: cb_alloc(bus 2): vendor 0x10ec, device 0x8180 PCI: Enabling device 02:00.0 (0000 -> 0003) cs: IO port probe 0x0c00-0x0cff: clean. cs: IO port probe 0x0800-0x08ff: clean. cs: IO port probe 0x0100-0x04ff: excluding 0x220-0x22f 0x250-0x257 0x330-0x337 0x378-0x37f 0x388-0x38f 0x3f8-0x3ff 0x408-0x40f 0x480-0x48f 0x4d0-0x4d7 cs: IO port probe 0x0a00-0x0aff: clean. usb.c: registered new driver usbdevfs usb.c: registered new driver hub usb-uhci.c: $Revision: 1.275 $ time 19:48:59 Apr 17 2004 usb-uhci.c: High bandwidth mode enabled usb-uhci.c: v1.275:USB Universal Host Controller Interface driver usb.c: deregistering driver usbdevfs usb.c: deregistering driver hub usb.c: registered new driver usbdevfs usb.c: registered new driver hub usb.c: deregistering driver usbdevfs usb.c: deregistering driver hub Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI ISAPNP enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A parport0: PC-style at 0x378 [PCSPP,TRISTATE,EPP] floppy0: unexpected interrupt floppy0: sensei repl[0]=80 cloop: Initializing cloop v2.01 cloop: loaded (max 128 devices) usb.c: registered new driver usbdevfs usb.c: registered new driver hub usb.c: registered new driver hiddev usb.c: registered new driver hid hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz> hid-core.c: USB HID support drivers mice: PS/2 mouse device common for all mice sr0: CDROM (ioctl) reports ILLEGAL REQUEST. cdrom: open failed. Device not ready. Make sure there is a disc in the drive.
|
What I did: Installed DSL 3.0.1 from CD. I partitioned the HD in a 128MB swap, and left the rest for DSL. After a few bootings, and checking if everything was correct, I went for the WLAN. I first installed the PCMCIA card, but it was not recognized as a valid interface. I was expecting it, and went for the "ndiswrapper" alternative. First I tried it with the original winXP drivers of the driver CD of the X-Micro card. I copied the winXP driver to:
Code Sample | /home/dsl/wlan/ |
installed the driver:
Code Sample | ndiswrapper -i /home/dsl/wlan/net8180.inf |
when I do a:
Code Sample | ndiswrapper -l |
DSL lists the net8180 and informs that the hardware is available. If I look with
I get
Code Sample | 0000:00:00.0 Host bridge: OPTi Inc. 82C701 [FireStar Plus] (rev 10) Subsystem: Unknown device 035c:0e11 Flags: bus master, medium devsel, latency 0
0000:00:01.0 ISA bridge: OPTi Inc. 82C700 [FireStar] (rev 10) Subsystem: Unknown device 035c:0e11 Flags: bus master, medium devsel, latency 0
0000:00:02.0 VGA compatible controller: Cirrus Logic GD 7548 (prog-if 00 [VGA]) Flags: fast devsel Memory at 40000000 (32-bit, non-prefetchable) [size=16M] Memory at 41000000 (32-bit, non-prefetchable) [size=16M]
0000:00:11.0 CardBus bridge: Texas Instruments PCI1131 (rev 01) Flags: bus master, medium devsel, latency 168, IRQ 15 Memory at 7fffe000 (32-bit, non-prefetchable) [size=4K] Bus: primary=00, secondary=01, subordinate=01, sec-latency=176 Memory window 0: 10000000-103ff000 (prefetchable) Memory window 1: 10400000-107ff000 I/O window 0: 00004000-000040ff I/O window 1: 00004400-000044ff 16-bit legacy interface ports at 0001
0000:00:11.1 CardBus bridge: Texas Instruments PCI1131 (rev 01) Flags: bus master, medium devsel, latency 168, IRQ 11 Memory at 7ffff000 (32-bit, non-prefetchable) [size=4K] Bus: primary=00, secondary=02, subordinate=02, sec-latency=176 Memory window 0: 10800000-10bff000 (prefetchable) Memory window 1: 10c00000-10fff000 I/O window 0: 00004800-000048ff I/O window 1: 00004c00-00004cff 16-bit legacy interface ports at 0001
0000:00:14.0 IDE interface: OPTi Inc. 82C825 [Firebridge 2] (rev 12) (prog-if 80 [Master]) Subsystem: Unknown device 035c:0e11 Flags: medium devsel I/O ports at 1000 [size=16]
0000:02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8180L 802.11b MAC (rev 20) Subsystem: Realtek Semiconductor Co., Ltd. RTL8180L 802.11b MAC Flags: bus master, medium devsel, latency 64, IRQ 11 I/O ports at 4800 [size=256] Memory at 10c00000 (32-bit, non-prefetchable) [size=512] Capabilities: <available only to root>
|
Then
tells me that there is no ndiswrapper. I went for a:
Code Sample | modprobe ndiswrapper |
and nothing happens! If I look at dmesg, I see:
Code Sample | cs: cb_free(bus 2) cs: cb_alloc(bus 2): vendor 0x10ec, device 0x8180 PCI: Enabling device 02:00.0 (0000 -> 0003) PCI: Setting latency timer of device 02:00.0 to 64 __alloc_pages: 0-order allocation failed (gfp=0x21/0) ndiswrapper (NdisMAllocateSharedMemory:926): couldn't allocate 2042 bytes of cached DMA memory ndiswrapper (NdisWriteErrorLogEntry:246): log: C0001389, count: 1, return_address: c1950a1e ndiswrapper (NdisWriteErrorLogEntry:249): code: 1026 ndiswrapper (miniport_init:273): couldn't initialize device: C000009A ndiswrapper (pnp_start_device:497): Windows driver couldn't initialize the device (C0000001)
|
My understanding: I have a problem with the driver.
I tried the same approach with a newer version (1.73) of the driver from http://www.realtek.com.tw/downloa....TL8180L However I see the same error code. My understanding is that I have a real problem with the WLAN card, DSL, and the old laptop as it is not able to allocate enough memory for the NDIS wrapper.
Solutions I tried: 1) I tried to install the Linux 2.4.XX drivers from Realtek. However it did not work, as both ".o" files available are for 2.4.18 and 2.4.20 and I get the gcc/lib error message about the wrong version. 2) Changing of driver version (CD version and the Realtek one) didn't help. 3) I tried to boot it with the card, tried to boot it without the card, and so on. But I always get the same error. 4) I thought about changing the Linux distribution. My guess is that changing the Linux distribution will not help, as probably all of them will come back to the "ndiswrapper" solution. 5) I discarded trying to install win98.
As the DSL is without a connection, it is quite complicated to download the source code of the driver, get the right gcc version installed, figure out where I can resize buffer sizes, compile it on another box, and load it via the 1.44" floppy of the Compaq Armada.
Does anyone has an idea of what else I could do? Any HELP would be really apreciated!
====================================== me, myself, and I
|