Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

So I've been battling with my debian install lately, it doesn't have the firmware for either eth0 or wan0 NIC's. However, I got a firmware.zip file that I need to extract to /lib/firmware. The problem is, since I have no connection from the computer, I can't just apt-get what I want.

Here's my question, I don't know a huge amount about the natural dependencies of linux(debian specifically), so I need to know a way to get them installed without internet. I can't even unzip this firmware file I have to get internet because as far as I can tell there is no default unzipping program. If I were to download the package and transfer it over on my usb drive, then it wouldn't run, because it needs libbz2-1.0, libc0.1, libc6, libc6.1, and libgcc1. It also suggests a program called zip. libc6 requires libc-bin and recomments libc6-i686, and suggests debconf.libc0.1.

Without being able to unzip anything who knows if I'll even be able to install these things. Do you guys know if there's just a very basic package that will install all these standard packages for me?

Thanks for the help guys, let me know if there's anything else I can tell you.

EDIT:

I'm going to put some of the errors I'm getting now even though I think that I installed the drivers.

ping google.com
ping: unknown host google.com

ping 192.168.10.101
connect: Network is unreachable


dmesg | grep wlan0
[ 5.348890] udev [432] : renamed network interface wlan0 to wlan1


dmesg | grep Broadcom
[ 1.028800] eth0: Broadcom 44xx/47xx 10/100BaseT Ethernet 00:15:c5:b8:79:75
[ 5.127449] b43-phy0: Broadcome 4311 WLAN found (core revision 10)
[ 5.309856] Broadcom 43xx driver loaded [ Features: PMLS, Firmware-ID:FW13 ]


ifup wlan1
Ignoring unknown interface wlan1=wlan1.


ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:15:c5:b8:79:75  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:17 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan1     Link encap:Ethernet  HWaddr 00:18:f3:85:99:07  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

This is where I get really confused:

ifconfig wlan1 192.168.10.111
b43-phy0 ERROR: Firmware file "B43/ucode5.fw" not found
b43-phy0 ERROR: Firmware file "B43-open/ucode5.fw" not found
b43-phy0 ERROR: You must go to blah blah blah and get the firmware
SIOCSIFFLAGSS: No such file or directory

So despite the fact that my dmesg says that the 43xx driver is loaded, ifconfig says it's not. What do I do at this point? I'll post a bit more data in one minute.

EDIT2:

So I guess I didn't run firmware-b43-installer_4.150.10.5-4_all.deb. I just did it by typing this:

dpkg -i firmware-b43-installer_4.150.10.5-4_all.deb
(Reading database ... 14006 files and directories currently installed.)
Preparing to replace firmware-b43-installer 4.150.10.5-4 (using firmware-b43-installer_4.150.10.5-4_all.deb) ...
Unpacking replacement firmware-b43-installer ...
Setting up firmware-b43-installer (4.150.10.5-4) ...
...

However at this point it tries to access a mirror(http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2. Holy crap is there any way possible to just get files that don't require an internet connection?

share|improve this question
add comment

2 Answers

up vote 4 down vote accepted

My suggestion would be to use a good old fashioned CD/DVD. Manually installing all packages with dpkg is possible if you download each .deb along with its dependacies (and theirs, and theirs...) but really not pleasant.

I would:

  1. download and burn the CD/DVD of the Debian distro you are using (check /etc/debian_version) if you dont have one
  2. Put the DVD in and run sudo apt-cdrom add and follow the instructions to add the DVD to apts sources
  3. Run apt-get install firmware-whatever or whatever

If your firmware isn't part of the official debian disto then at least you can install it with dpkg -i <firmware.deb> and use apt to install its dependacies.

share|improve this answer
    
I did something similar to this, I just downloaded all the basic packages I needed, put them in a directory on my usb drive, mounted it and then ran: dpkg -i *.deb It installed right away. Now I'm having trouble unzipping my firmware.zip file into /lib/firmware. Thanks. –  Scriptonaut Oct 25 '12 at 20:31
1  
Do you have a .deb for the firmware? If you have use that not the .zip as you have now installed all the dependacies. What trouble are you having unzipping? –  didster Oct 25 '12 at 20:33
    
I finally unzipped it, rebooted, and now I need to see if the internet works. I'll report back. –  Scriptonaut Oct 25 '12 at 20:38
    
Apparently I didn't install it right. I'm trying to get the .deb now, however now sure what to get. Everything points to b43-fwcutter, however the description says that fwcutter merely unzips the firmware. –  Scriptonaut Oct 25 '12 at 21:07
1  
What errors are you getting now then? Check dmesg. –  didster Oct 25 '12 at 21:18
show 2 more comments

You have some of these libraries already. For example libc6 and libgcc1 are required — your system wouldn't run without them. The unzip program is not part of the default installation (Linux's “native” archive formats are tar.gz and tar.bz2; zip is very common but not ubiquitous).

Unfortunately, your hardware seems to require proprietary firmware. There is a lot of firmware that is only available in binary form and that third parties are not allowed to redistribute. That is why all Debian provides is an installer program that downloads the firmware.

Get the apt-zip package. Apt-zip is a program that generates a list of packages to download, in the form of a shell script that you can run on most any machine running a unix system (including Cygwin) to download packages with their dependencies.

Look at the description of the firmware installer to see where it downloads its firmware from (if it's not indicated, look inside, it's usually easy to find the URL in the download scripts). Download the firmware manually and bring it to the networkless machine as well; when you run the installer, you'll get an option to use a manually-downloaded firmware file.

share|improve this answer
    
I installed apt-zip, how exactly do I use it? I'm currently installing Cygwin(normally I just use vm's on my windows machine, didn't even really know what cygwin was), and meanwhile I'm trying to figure it out. As far as I can tell, apt-zip creates a shell script that will go out and download your package, and all of its dependencies. Is this correct? I hear apt-zip creates two files, one to fetch the packages, and one to do something with flags, I don't quite understand. Do I even need the second package? Would you mind just giving me a short list of what I need to do? –  Scriptonaut Oct 26 '12 at 1:46
    
For example I can't figure out which action to use, it says the only options are dselect-upgrade, upgrade, and dist-upgrade. I want none of those, I want install, so how do I do that? I can't find any documentation explaining each action. –  Scriptonaut Oct 26 '12 at 2:06
    
When I use this command: apt-zip-list --medium=/mnt/myusb/storage --packages=dkms_2.2.0.3-1.2_all.deb I get the errors: apt-zip-list: mount: can't find /mnt/myusb/storage in /etc/fstab or /etc/mtab Unmounting /mnt/myusb/storage umount: /mnt/myusb/storage: not mounted –  Scriptonaut Oct 26 '12 at 2:15
1  
@Scriptonaut Use -p to specify packages to install, and -s to avoid having it try to mount an external drive. Beyond that, I don't know enough about Apt-zip to answer all your questions; read the man page, and if it's not clear enough, ask a separate question. –  Gilles Oct 26 '12 at 8:54
    
Thanks a lot, I'll start playing with it and may just make a new question. I think apt-zip will save me loads of time. –  Scriptonaut Oct 26 '12 at 14:53
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.