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 recommends 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?

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

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)

lo        Link encap:Local Loopback  
          inet addr:  Mask:
          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
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.

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 (using firmware-b43-installer_4.150.10.5-4_all.deb) ...
Unpacking replacement firmware-b43-installer ...
Setting up firmware-b43-installer ( ...

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

2 Answers 2


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 dependencies (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 don't have one
  2. Put the DVD in and run sudo apt-cdrom add and follow the instructions to add the DVD to apt's sources
  3. Run apt-get install firmware-whatever or whatever

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

  • 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. Oct 25, 2012 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, 2012 at 20:33
  • I finally unzipped it, rebooted, and now I need to see if the internet works. I'll report back. Oct 25, 2012 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. Oct 25, 2012 at 21:07
  • 1
    What errors are you getting now then? Check dmesg.
    – didster
    Oct 25, 2012 at 21:18

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.

  • 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? Oct 26, 2012 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. Oct 26, 2012 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 Oct 26, 2012 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. Oct 26, 2012 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. Oct 26, 2012 at 14:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .