Tiny Core Linux

Tiny Core Base => TCB Talk => Topic started by: cgustafson on September 29, 2010, 12:02:26 PM

Title: Wireless driver questions
Post by: cgustafson on September 29, 2010, 12:02:26 PM
I've got a system with a Realtek 8171/8192 wireless card (lspci indicates device 8171, FCC sticker on back of case says 8191SE, and googling around suggest this too). I'm trying to get a driver built and running. I've:

compiled the driver from 2.6.33.35-x staging (rtl8192e)
compiled the driver from Realtek's site (rtl8192se)

After much horsing around, I got both built and installable via manual insmod. However I:

can't get either to install on boot. (I built tcz packages for /usr/local/lib/modules/2.6.33.3-tinycore/kernel/drivers/net/wireless/r8192e/r8192_pci.ko.gz, etc, placed in tce/optional and listed in onboot.lst)

can't get either to actually do anything when installed manually - r8192e seems to find the device (at least, the call to pci_register_driver() in rtl8192_pci_module_init() returns a zero, apparently indicating no errors, while the same function in the r8192se (the dl from realtek) module returns a non-zero, apparently indicating it doesn't like the device.

This last bit suggests to me that I want the driver from staging, but I'm at a loss as to how to get it to install at boot time, and how to get it to actually consent to do anything with the device once installed.

I'd really appreciate suggestions.
Title: Re: Wireless driver questions
Post by: tinypoodle on September 29, 2010, 01:07:07 PM
I have not seen the particular driver, but judging from experience with other realtek drivers, it may require it's own ieee80211 stack which is incompatible with the stack in kernel.
After compiling see if there are about 5 modules starting with ieee80211_* created, and insmod all of them.
If the kernel should load the Linux ieee80211 stack you have to rmmod those modules first.
Title: Re: Wireless driver questions
Post by: cgustafson on September 29, 2010, 02:17:30 PM
OK, thanks.

I looked (via lsmod) and it appears that no modules starting with ieee80211 get loaded before a manual load of the problematic module. This seems to contain it's own stack, as it generates some output (ieee80211_crypt: registered algorithm ...). Also, the build directories have no .ko files for ieee80211, but plenty of object files, leading me to the believe that that stuff gets linked in directly. I suppose I should look at link instructions to be sure.
Title: Re: Wireless driver questions
Post by: tinypoodle on September 29, 2010, 02:21:16 PM
Ah, then perhaps you didn't build it right, may include some 'cd' to dir of stack and build the stack separately, as far as I can vaguely remember, it's some time...
Title: Re: Wireless driver questions
Post by: cgustafson on October 04, 2010, 11:30:00 AM
I'm back, after doing a little more homework.

First off, I was wrong about the 8192e driver, what I wanted was the 8192se. Then I reloaded the kernel source (the tinycore-patched stuff), did the whole kernel-building liturgy, then downloaded (again) and built the rtl8192se driver source from Realtek's site.

Next, it's necessary to copy the firmware images from the Realtek tarball, and put them in the right place.

Finally, I built a .tcz with everything I wanted, and on a reboot, I've got my driver loaded and happy with the hardware, or so it seems. At least, it shows up with ifconfig -a, iwconfig gives information about it, and so on. I haven't yet got it actually get an ip address, so that still to be done, can't be too big an issue.

My thanks to the tinypoodle.
Title: Re: Wireless driver questions
Post by: tinypoodle on October 04, 2010, 12:22:26 PM
Tip:
boot with param
Code: [Select]
syslog

After booting, in an aterm or VT do:
Code: [Select]
tail -f /var/log/messagesand leave that open

Realtek drivers usually give plenty of useful info in syslog   ;)