Can I download firmware to usb and install it on a different computer?

I have the latest live Manjaro on an 8 gig USB stick. Unfortunately there is no Marvell firmware for my WiFi, so I have no internet access.

Is there a way to download the firmware onto a flash drive with another computer, and install it to the live usb? I get that it would only be for the session, and have to be reloaded each time I use the system, but it’s the idea.

Would I have to set up a local repository (with one package), and point pacman at it?

Thanks in advance.

Yes.

You can of course put ~files~ on a USB.

So … you dont just mean firmware … but a package?

In that case you dont need to set up a repo or anything.

You just put the package on the usb. Then install it

sudo pacman -U /path/to/package.pkg.tar.gz

Maybe with a bit more explanation we could be more exacting with suggestions.

1 Like

To be more clear.

I have a computer with internet access, and one running a live Manjaro on a USB stick. The live Manjaro has no internet access, as the wifi needs firmware loaded to work, and the firmware is not on the stick.

I want to install the firmware on the live USB, which of course has no persistence. I am thinking that a reboot after installing the firmware would pretty much mean no firmware again.

I can get the firmware off the internet with the other computer that has access, and load it onto a different USB drive. Then I would plug this new USB stick into the computer running Manjaro, and install the
firmware.

Would that work?

cscs said “So … you dont just mean firmware … but a package?”

And I ask, does the firmware not come in a package? I am easily confused.

i think this would be way more effective if you post which device is this and lsusb output.

If the Live USB has no persistence then you wont be able to do much.
You could create your own ISO that includes the relevant packages and then use that.

Probably not. Firmware is usually something that would need to be booted with, so just installing it onto a Live system wont do much, and as noted with the lack of persistence, rebooting would be a fresh live instance again.

Note: Some firmware can be applied live. I suppose you can give it a shot.

If you do this and it is a compatible package format … then it is as described above. Copy the package onto some media, and use pacman -U /path/to/package. It shouldnt hurt to try.

The vast majority of firmware would not be packaged for linux, let alone by Arch/Manjaro.
(see for example your manufacturers BIOS update, etc)

Do you know that having the firmware would help you?
How?

There may be drivers in the AUR for some devices which are not part of the default installation.

It’s likely more productive to look for that than it is trying to put some firmware file to proper use…

system information

inxi -Fazy

could be a start to obtain info on your device

It should do - @NotBob has another thread on this issue: Wifi no connections available - #3 by notbob

TLDR: linux-firmware-marvell is not installed by default, and needed for the Marvell 88W8897.

Teo suggests that I post this information. Fortunately I have a sneaker-net for transferring data from a non networked computer to one on the internet.

MS Surface Pro 3, refurbished, with a 2018 BIOS and 2019 EFI. Usually runs Debian, but also has Slackware on it. No Windows, as when the old SSD crashed, it took old Billy with it.

lsusb                                                                                          ✔
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 003: ID 0781:5575 SanDisk Corp. Cruzer Glide
Bus 001 Device 004: ID 05e3:0723 Genesys Logic, Inc. GL827L SD/MMC/MS Flash Card Reader
Bus 001 Device 005: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 05e3:0617 Genesys Logic, Inc. USB3.0 Hub
inxi -Fazy
Network:
  Device-1: Marvell 88W8897 [AVASTAR] 802.11ac Wireless vendor: SafeNet
    driver: mwifiex_pcie v: 1.0 pcie: gen: 1 speed: 2.5 GT/s lanes: 1
    bus-ID: 01:00.0 chip-ID: 11ab:2b38 class-ID: 0200
  IF: wlp1s0 state: up mac: <filter>
  sudo dmesg | grep wifi                                                                                 0|0|255 ✘
[   19.746337] mwifiex_pcie 0000:01:00.0: no quirks enabled
[   19.746442] mwifiex_pcie 0000:01:00.0: enabling device (0000 -> 0002)
[   19.746720] mwifiex_pcie: PCI memory map Virt0: 000000002e0648b6 PCI memory map Virt2: 00000000998b802e
[   19.760652] mwifiex_pcie 0000:01:00.0: Direct firmware load for mrvl/pcie8897_uapsta.bin failed with error -2
[   19.760668] mwifiex_pcie 0000:01:00.0: Failed to get firmware mrvl/pcie8897_uapsta.bin
[   19.760673] mwifiex_pcie 0000:01:00.0: info: _mwifiex_fw_dpc: unregister device
[   19.763661] mwifiex_pcie 0000:01:00.0: performing cancel_work_sync()...
[   19.763670] mwifiex_pcie 0000:01:00.0: cancel_work_sync() done
sudo dmesg | grep firmware                                                                                     ✔
[    0.105645] Spectre V2 : Enabling Restricted Speculation for firmware calls
[   19.760652] mwifiex_pcie 0000:01:00.0: Direct firmware load for mrvl/pcie8897_uapsta.bin failed with error -2
[   19.760668] mwifiex_pcie 0000:01:00.0: Failed to get firmware mrvl/pcie8897_uapsta.bin

Any other info needed I will provide.

sudo pacman -Fyx  pcie8897_uapsta.bin
[sudo] password for teo: 
:: Synchronizing package databases...
 core is up to date
 extra                                     41,4 MiB  5,62 MiB/s 00:07 [--------------------------------------] 100%
 multilib is up to date
core/linux-firmware-marvell 20240115.9b6d0b08-2
    usr/lib/firmware/mrvl/pcie8897_uapsta.bin
core/linux-firmware-marvell-uncompressed 20231211.f2e52a1c-1
    usr/lib/firmware/mrvl/pcie8897_uapsta.bin

i guess you have to install linux-firmware-marvell from the package manager or

sudo pacman -Syu linux-firmware-marvell

and reboot

p.s. oh wait, i forgot you are offline.

Variant 1 - if you have a recent android phone - connect with usb cable and choose tethering and it will appear as lan card and give you cellular internet
Variant 2 - use -Syuw (note the W) which will put the packet in the cache of the connected machine and copy from cache
Variant 3 - just download directly from some mirror like from testing https://mirror.easyname.at/manjaro/testing/core/x86_64/linux-firmware-marvell-20240220.97b693d2-1-any.pkg.tar.zst or maybe https://mirror.easyname.at/manjaro/testing/core/x86_64/linux-firmware-marvell-uncompressed-20231211.f2e52a1c-1-any.pkg.tar.zst
or from stable branch
https://mirror.easyname.at/manjaro/stable/core/x86_64/linux-firmware-marvell-20240115.9b6d0b08-2-any.pkg.tar.zst
or
https://mirror.easyname.at/manjaro/stable/core/x86_64/linux-firmware-marvell-uncompressed-20231211.f2e52a1c-1-any.pkg.tar.zst

and on the offline machine you install with sudo pacman -U path-to-file

Is there a special reason to have a live system other than trying and installing from it?

If you want the system on USB, simply put another USB and install Manjaro on it. Then redirect BIOS/UEFI boot to it, just as you did with Manjaro live.
Then you can do with that USB install whatever you want, and it will have persistence, because it will be a normal installation. It will, however, have data limitation on download (thanks to normal USB-A limitations), so some operations will be painfully slow, compared to a system installed on a bare metal.

Not sure how to add the avatar but michaldybczak asked
“Is there a special reason to have a live system other than trying and installing from it?”

The special reason was to try it before installing, so yeah. I suppose being on the internet is only a small part of computing, but still important. Your suggestion to do a full install to a different USB was actually the plan, but I got seriously diverted by no wireless.

In the end, I installed onto a laptop with ethernet connection, but I am going to try to get a stick running with wireless because I don’t like to be thwarted by an inanimate object.

I would say not quite solved.

Nachlese asked
" Do you know that having the firmware would help you?"

Not in the slightest. In the past I could only do net installs of Debian if I had an iso with non-free firmware. Therefore, I assumed I had the same issue. We all know about assumptions.

You mention other person by typing @ sign and the nickname after it (without any space, so for example: @cscs just as it is presented). It will show up a choice of users with their avatars. This makes sure that those persons will be notified that you mentioned them.

Also, if you want to quote someone, just mark the text and you will see a Quote pop-up. After clicking it, it will populate a new message with proper coding. You can of course do it later, so for example, I am writing this message and I can still mark a portion of your message:

and it will insert in a place where my editing cursor were.

The answer to this topic is yes. Thanks to @Teo and his pointer to where to get the firmware, I tried two things.

I used a different computer to download the firmware to a 512 MB (that’s right, MB), SD card. Then I fired up the live Manjaro (KDE) and installed the firmware. It had no effect on the availability of the WIFI, but that was no surprise.

I then installed Manjaro from the live version to a 128 GB micro sd card. Once I got it running, I installed the firmware as above. On reboot, WIFI ready to go.

I know now, and I can say yes it will help.

Thank you all for the help.

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.