Additional in-kernel wifi modules

What features/apps/bugfixes needed in a future Puppy
Message
Author
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

Additional in-kernel wifi modules

#1 Post by tempestuous »

Barry, I suggest a minor change to the current (2.12) kernel configuration to enable 2 more wifi drivers.
In menuconfig under "Networking" there is an option "Softmac MAC add-on ..." which is not enabled. If enabled, there becomes available 2 more wifi drivers under Device Drivers > Network device support > Wireless LAN;
namely Broadcom BCM43xx and Zydas ZD1211/ZD1211B. The latter is not so important, since I see you already provided the zd1211 driver.
But the Broadcom 43xx is a very common chipset, and this driver would be of use to many Puppy users.

This configuration change just adds more modules, there is no change to the kernel itself.
I just compiled these modules now; bcm43xx.ko, zd1211rw.ko, and ieee80211softmac.ko. I can make these available if anyone is interested.
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#2 Post by tempestuous »

Another config suggestion; in the same area, "Support downloading firmware images with Host AP driver" is a good idea, to support the Prism2 devices which have SSF (short serial flash) such as the DWL-520 rev E and DWL-650 rev P.

EDIT: Then the firmware is necessary. It comes from http://www.red-bean.com/~proski/firmwar ... sm.tar.bz2
The "hostap_fw_load" script defines the 2 firmware files required: pm010102.hex and rf010804.hex, and defines where these files should be located: /etc/firmware
I see that this script, and the associated firmware loading utility "prism2_srec", are already included in zrdv_212.sfs.
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#3 Post by tempestuous »

And I see that the firmware is missing for 2 wifi drivers already in Puppy 2.12:
- for Ralink RT61. Get it from http://www.ralinktech.com/supp-1.htm
- for Prism54. Get it from http://prism54.org/fullmac.html

This should complete Puppy's thorough complement of wifi drivers and firmware.
PaulBx1
Posts: 2312
Joined: Sat 17 Jun 2006, 03:11
Location: Wyoming, USA

#4 Post by PaulBx1 »

...and Zydas ZD1211/ZD1211B. The latter is not so important, since I see you already provided the zd1211 driver.
Neither the 1211, nor the 1211b driver that I attempted to compile, works with my 1211b Belkin USB wireless. I wonder if it works for anyone with the 1211b chipset?

I'd like to try the 1211b you compiled. Maybe you've done a better job of it!
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#5 Post by tempestuous »

PaulBx1,
Here is the zd1211rw driver package, which includes the softmac wifi module plus Zydas firmware.
This is the opensource driver I mentioned above. The one module "zd1211rw" supports both A and B versions of the Zydas 1211 chipset. I put the firmware in /lib/firmware/zd1211 as the source README suggested. If you have problems, try moving the firmware into /lib/firmware

I had a look at the proprietary Zydas driver you mentioned at http://atheros.com/RD/downloads/
After "tweaking" the Makefile, it compiled OK, but it looks like old source code to me. I think the opensource driver should be better.

EDIT April 2007: zd1211rw.pup attachment removed.
From Puppy 2.14 this driver is contained as standard, but the "community" driver from http://zd1211.ath.cx/wiki/VendorBasedDriver is reported as working better in Puppy. This version is available as a dotpet from here -
http://puppyfiles.org/dotpupsde/dotpups ... 2-to-2.14/
Last edited by tempestuous on Sat 21 Apr 2007, 02:07, edited 3 times in total.
kirk
Posts: 1553
Joined: Fri 11 Nov 2005, 19:04
Location: florida

#6 Post by kirk »

tempestuous,

I picked up a usb wifi card that uses the zd1211 chip, I compiled about 4 different drivers. No luck. Saw your post here, tried that too. I get:

sh-3.00# modprobe zd1211rw
WARNING: Error inserting ieee80211softmac (/lib/modules/2.6.18.1/kernel/net/ieee80211/softmac/ieee80211softmac.ko): Unknown symbol in module, or unknown parameter (see dmesg)
FATAL: Error inserting zd1211rw (/lib/modules/2.6.18.1/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko): Unknown symbol in module, or unknown parameter (see dmesg)

I get the same with the one I built. I did find a post :

http://www.nabble.com/Problems-with-zd1 ... 56874.html

where someone patched the older driver. And that works some. I think the zd1211rw was included in the 2.6.18 tree, but I don't see it in the zdrv file. In the zdrv file is the r83 version of the old opensource driver (same one I patched). Do you have one of these cards?

Thanks for your help.

Kirk
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#7 Post by tempestuous »

No, I don't have a Zydas adaptor myself.
kirk wrote:I think the zd1211rw was included in the 2.6.18 tree,
Correct
kirk wrote:but I don't see it in the zdrv file.
because of the reasons I outlined in my first post; Puppy 2.12's kernel config did not enable the softmac wifi module, thus the zd1211rw module could not be enabled.
kirk wrote:WARNING: Error inserting ieee80211softmac
EDIT: kirk found the fix for this in later post.
Last edited by tempestuous on Thu 07 Dec 2006, 05:23, edited 1 time in total.
kirk
Posts: 1553
Joined: Fri 11 Nov 2005, 19:04
Location: florida

#8 Post by kirk »

Found my problem, The zd1211rw module should load the other kernel modules it needs, but it doesn't. When I compiled it I got a bunch of warnings near the end about ieee80211 calls. Might be why? Anyway if you do this:

sh-3.00# modprobe firmware_class
sh-3.00# modprobe ieee80211softmac
sh-3.00# modprobe zd1211rw.ko

It works!

Rutilt doesn't like it much though. Locks-up after you connect to an AP.

Thanks tempestuous!

PS: Did you build the ieee80211softmac source from the kernel source or did you find it somewhere else?
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#9 Post by tempestuous »

kirk wrote:Did you build the ieee80211softmac source from the kernel source ...
Yes, just by enabling the appropriate option in the kernel config.
kirk
Posts: 1553
Joined: Fri 11 Nov 2005, 19:04
Location: florida

#10 Post by kirk »

Rutilt v.13 works with this driver.

The r83 driver works pretty well with the patch too. When I tried it before must of had something else messed up.
User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#11 Post by BarryK »

- for Ralink RT61. Get it from http://www.ralinktech.com/supp-1.htm
This link returns a '404'.
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#12 Post by tempestuous »

It looks like www.ralinktech.com is down.
This one is OK - http://www.ralink.com.tw/supp-1.htm

... and sorry, more firmware - the Zydas "rw" driver I mentioned above needs firmware, too.
This page mentions the download link http://zd1211.ath.cx/wiki/DriverRewrite
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#13 Post by tempestuous »

Aahhg! I just realised the Broadcom bcm43xx module I mentioned earlier requires firmware too.
I will send this firmware to you in the "Code contributions" section of the developer forum.
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#14 Post by tempestuous »

bcm43xx driver added at shimpossible's request. Includes softmac module and firmware.
Attachments
bcm43xx-k2.6.18.1.pup
(131.09 KiB) Downloaded 453 times
barriew
Posts: 88
Joined: Tue 17 Oct 2006, 17:16
Location: Essex, UK

#15 Post by barriew »

Hi,

I'm having problems getting a BlueNext adapter that requires ZD1211 to work. I'm not sure I follow all the info in this thread - is it possible to set out the steps in a logical order for someone trying to understand Linux?

Barrie
barriew
Posts: 88
Joined: Tue 17 Oct 2006, 17:16
Location: Essex, UK

#16 Post by barriew »

I have got my adapter to work by compiling the driver supplied with it .

Barrie
User avatar
mark2
Posts: 104
Joined: Sun 20 Aug 2006, 19:35
Location: Bristol, UK
Contact:

#17 Post by mark2 »

A numpty still having problems with the bcm43xx driver, having d/loaded tempestuous' bcm43xx dotpup (thanks) and trying kirk's workaround I get to this stage but am unable to progress further

sh-3.00# modprobe ieee80211softmac
FATAL: Error inserting ieee80211softmac (/lib/modules/2.6.18.1/kernel/net/ieee80211/softmac/ieee80211softmac.ko): Unknown symbol in module, or unknown parameter (see dmesg)
sh-3.00#



the relevant section in dmesg appears to be

ieee80211softmac: no version for "struct_module" found: kernel tainted.
ieee80211softmac: Unknown symbol ieee80211_wx_get_scan
ieee80211softmac: Unknown symbol free_ieee80211
ieee80211softmac: Unknown symbol ieee80211_tx_frame
ieee80211softmac: Unknown symbol alloc_ieee80211

If I navigate to /lib/modules/2.6.18.1/kernel/net/ieee80211/softmac/ieee80211softmac.ko and open with geany there doesn't appear to be any text, am I barking up the wrong tree here? I would perhaps have expected to see some instructions in these .ko files
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#18 Post by tempestuous »

Sorry to state the obvious, but let's first check you're using Puppy 2.12.

kirk's fix misses one necessary module; ieee80211. So the module loading sequence (for you) should be -

modprobe firmware_class
modprobe ieee80211
modprobe ieee80211softmac
modprobe bcm43xx

This should get you a valid network interface.
Later, if you use WEP encryption, it may be necessary to pre-load (fetch) some more modules -

modprobe ieee80211_crypt
modprobe ieee80211_crypt_wep

And if you use WPA encryption (with wpa_supplicant) you will need these -

modprobe ieee80211_crypt_ccmp
modprobe ieee80211_crypt_tkip
modprobe michael_mic
User avatar
mark2
Posts: 104
Joined: Sun 20 Aug 2006, 19:35
Location: Bristol, UK
Contact:

#19 Post by mark2 »

Thank you tempestuous, now online in puppy using my 54g card,
However I was thrown a little off track by having to configure eth1 rather than the Wlan :?
tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#20 Post by tempestuous »

OK, that's good. Yours is the first report of success with the bcm43xx driver. Clearly all components are OK, including the firmware.
mark2 wrote:However I was thrown a little off track by having to configure eth1 rather than the Wlan
Yes, different wifi drivers create different network interface names. Personally, I think "ethxxx" is a bad idea for a wifi interface, because it's the same name as your wired LAN interface. So you will typically end up with 2 interfaces, eth0 and eth1, and it can be confusing knowing which is which.
Post Reply