Supporting the Marvell Libertas 8335 Under FreeBSD

If you’ve been following along, I’ve been trying many operating systems on my Compaq Armada E500. The hardware has been preforming superbly, and does not have any problems except that everything current seems to think that 128M of memory is a pittance. FreeBSD 6.2, however, did install.

The biggest problems have been wireless and USB support. Since my USB port disintegrated (it split in two, the plastic key came out, and the pins bent!) I’ve been limited to Cardbus cards. The system came with a Zonet 1502 which I mistakenly thought used a Realtek chipset like the Zonet 1500 and 1501 (the FreeBSD ral(4) driver).

I used ndisgen(8) to create a kernel module based on the Windows driver. This went flawlessly, and the module loaded perfectly – recognizing the card immediately:

cardbus1: Resource not specified in CIS: id=14, size=10000
ndis0: <Marvell Libertas 802.11b/g Wireless (8335)> mem 0x88000000-0x8800ffff,0x
88010000-0x8801ffff irq 11 at device 0.0 on cardbus1
ndis0: NDIS API version: 5.0
ndis0: Ethernet address: 08:10:74:05:11:8f

The device, however, never seems to turn on – the power light never lights – and thus, the link light never activates. It would appear I can modify at least some of the parameters but not others – such as the channel. The power light never comes on whatever I might do.

Pulling the card and reinserting generates an error for some reason.

Investigating this card turns up the fact that it is supported under OpenBSD, and that the chipset is known for being closed. This article discusses the author’s experiences with the Netgear WG511 v2 (perhaps one of the most common cards containing the Marvell Libertas chipset) and his OpenBSD system with Kismet. The OpenBSD folks use the malo(4) driver to control such a beast, the word malo having some interesting Spanish meanings.

In a 2007 slide presentation titled “Open Documentation for Hardware” about the state of open source hardware documentation, Theo de Raadt stated that “Marvell is being dragged open kicking and screaming“. He also noted that “No other operating system has as many 802.11 drivers builtin“.

There is some discussion about using the Netgear WG511 v2 with Linux, again using the Windows NDIS drivers.

The FreeBSD Handbook was useful in investigating this generic ndis0 wireless card configuration; specifically, Section 11.8.1.1 on setting up a network card using a Windows NDIS driver, and Section 29.3 on wireless networking.

Wikipedia has an article that compares open source wireless drivers which has proved to be quite informative; if this Zonet card does not work, I may use this article to help choose another card.

With the advent of this research, if FreeBSD doesn’t work out, I’ll probably go to OpenBSD after imaging the disk.

2 thoughts on “Supporting the Marvell Libertas 8335 Under FreeBSD”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: