Difference between revisions of "BeagleBoardDebianWifiInstallInfo"

From eLinux.org
Jump to: navigation, search
 
m (inird.gz fix)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
I have a zd1211 based wifi card.  The installer did not detect it when I booted with the usb powered hub plugged into the otg port (which the card is plugged into)  Instead I had to boot then plug the hub in after booted.
+
[[Category: Linux]]
 +
[[Category: OMAP]]
 +
I have a zd1211 based wifi card.  The [[BeagleBoardDebian|Debian]] installer did not detect it when I booted with the usb powered hub plugged into the otg port (which the card is plugged into).   Instead I had to boot then plug the hub in after booted.
  
Next the installer cannot find the firmware driver.  Select "Go Back" and "Execute shell"  then mount a media with the firmware and copy it to /lib/firmware/`uname -r` Then exit the shell, and run the detect hardware step again.. now the wifi works and you can complete the install.
+
Next the installer cannot find the firmware driver.  Select "Go Back" and "Execute shell"  then mount a media with the firmware and copy it to /lib/firmware  Then exit the shell, and run the detect hardware step again.. now the wifi works and you can complete the install.
 +
 
 +
= Possible Fix? =
 +
Since Mainline seems to be moving to as firmware free as possible, i'd like to find another way around this problem. It'll probably get worse.
 +
 
 +
1. Some how, dump the linux-firmware tree into the build tree and  build the uImage with 'all' possible firmware's... (well not stuff like radeon.bin's)
 +
 
 +
2. update the intrd.gz image with all firmwares.
 +
 
 +
--[[User:RobertCNelson|RobertCNelson]] 23:15, 28 April 2009 (UTC)
 +
 
 +
== inird.gz fix ==
 +
 
 +
based on: http://wiki.debian.org/DebianInstaller/NetbootFirmware
 +
 
 +
Clear, create and cd into a temporary directory:
 +
 
 +
rm -rf /tmp/firmware
 +
mkdir  /tmp/firmware
 +
cd /tmp/firmware
 +
 
 +
Acquire the lenny/firmware-XX package, which contains the firmware: (firmware-XX download page)
 +
wget http://ftp.debian.org/debian/pool/non-free/z/zd1211-firmware/zd1211-firmware_2.21.0.0-0.1_all.deb
 +
 
 +
Extract the files from the package into the temporary directory:
 +
ar -p zd1211-firmware_2.21.0.0-0.1_all.deb data.tar.gz | tar -zxf -
 +
 
 +
Create the cpio archive using pax, contain stuff under lib but root it in / in the archive:
 +
pax -x sv4cpio -s '%lib%/lib%' -w lib | gzip -c >fw.cpio.gz
 +
 
 +
Download initrd.gz
 +
wget http://ftp.debian.org/debian/dists/lenny/main/installer-armel/current/images/versatile/netboot/initrd.gz
 +
 
 +
Concatenate the firmware:
 +
cat initrd.gz fw.cpio.gz >initrd-fw.gz
 +
 
 +
Then deflate
 +
gzip -d initrd-fw.gz
 +
 
 +
DD it.. 8Mb might not be enough for some firmware
 +
dd if=initrd-fw of=initrd.pad ibs=8388608 conv=sync
 +
 
 +
Copy initrd.pad to SD card...
 +
 
 +
Unknowns: Kernel's looking for /lib/modules/`uname-r`/ these will place them in /lib/modules/*....
 +
Dang: small board problem on my new RevC2 so i can't test this tonight.. --[[User:RobertCNelson|RobertCNelson]] 00:31, 5 May 2009 (UTC)

Latest revision as of 00:31, 5 May 2009

I have a zd1211 based wifi card. The Debian installer did not detect it when I booted with the usb powered hub plugged into the otg port (which the card is plugged into). Instead I had to boot then plug the hub in after booted.

Next the installer cannot find the firmware driver. Select "Go Back" and "Execute shell" then mount a media with the firmware and copy it to /lib/firmware Then exit the shell, and run the detect hardware step again.. now the wifi works and you can complete the install.

Possible Fix?

Since Mainline seems to be moving to as firmware free as possible, i'd like to find another way around this problem. It'll probably get worse.

1. Some how, dump the linux-firmware tree into the build tree and build the uImage with 'all' possible firmware's... (well not stuff like radeon.bin's)

2. update the intrd.gz image with all firmwares.

--RobertCNelson 23:15, 28 April 2009 (UTC)

inird.gz fix

based on: http://wiki.debian.org/DebianInstaller/NetbootFirmware

Clear, create and cd into a temporary directory:

rm -rf /tmp/firmware
mkdir  /tmp/firmware 
cd /tmp/firmware 

Acquire the lenny/firmware-XX package, which contains the firmware: (firmware-XX download page)

wget http://ftp.debian.org/debian/pool/non-free/z/zd1211-firmware/zd1211-firmware_2.21.0.0-0.1_all.deb

Extract the files from the package into the temporary directory:

ar -p zd1211-firmware_2.21.0.0-0.1_all.deb data.tar.gz | tar -zxf - 

Create the cpio archive using pax, contain stuff under lib but root it in / in the archive:

pax -x sv4cpio -s '%lib%/lib%' -w lib | gzip -c >fw.cpio.gz

Download initrd.gz

wget http://ftp.debian.org/debian/dists/lenny/main/installer-armel/current/images/versatile/netboot/initrd.gz

Concatenate the firmware:

cat initrd.gz fw.cpio.gz >initrd-fw.gz

Then deflate

gzip -d initrd-fw.gz

DD it.. 8Mb might not be enough for some firmware

dd if=initrd-fw of=initrd.pad ibs=8388608 conv=sync

Copy initrd.pad to SD card...

Unknowns: Kernel's looking for /lib/modules/`uname-r`/ these will place them in /lib/modules/*.... Dang: small board problem on my new RevC2 so i can't test this tonight.. --RobertCNelson 00:31, 5 May 2009 (UTC)