Please consider allowing loading firmware files on boot.
E.g., for DVB-T2 sticks, firmware files are needed to be loaded on boot. Where to store them? How to make sure they survive a reboot? This would be nice, as we could use HA add-ons like tvheadend with DVB-T2 USB sticks.
The installation and setup was easy, but it is of no use to me, because nobody at HA seems to be interested to solve the problem with the firmware files for DVB-T2 USB sticks, or I haven’t understood how to solve it myself.
Under which path the files are to be stored, I don’t mind, as long as they survive a system reboot and are correctly loaded on system boot and used by the tvheadend add-on. It would be really great if this worked!
Sorry, but where? I’ve seen so many different advices - depending on how HA is set up etc. - that I’ve lost track.
E.g., do I need to follow instructions for developers to access /root via ssh port 22222, or is it also possible via the Advanced SSH Terminal add-on with save mode disabled?
Some posts were about /mnt/boot/firmware/, now I read about /share/firmware/, not to speak about the correct syntax in the boot parameter.
I appreciate your patience and help very much. Thank you!
It’s not a question, so I’m not sure if you really meant this. I’m using the “recommended” installation (Raspberry Pi 4) and do not want to change it.
I appreciate it very much if you kindly pointed me to that question you refer to. Thank you.
PS:
The other advice in that thread was this:
As I wrote there in response, my problem is that this folder structure does not exist, and when I create it, it is gone again after a reboot. I asked further questions about it, but either my questions were irrelevant or misunderstood, or I missed the whole point and ridiculed myself.
@nickrout@agners
I simply wanted to have 3 firmware files (which I clearly stated over at GitHub) (*) permanently stored and correctly loaded with HA. I replied that I do not want to use another HA installation than the “recommended” one:
If placing firmware files in HA (installed the “recommended” way) is (still) not possible or not easy for normal users (i.e. without following “developer-only guides”), then please kindly say so.
If I still missed the point in your opinion, I appreciated it very much if you were so decent to tell me where exactly I failed. Thanks for your efforts.
PS (*) footnote for above - I answered the question:
This is an issue tracker and not a support forum. I’ve responded to your community post.
Then in the community forum, I got this reply from @agners
/mnt/data/supervisor/share is mapped to /share in typical addons. E.g. you can use the Samba add-on to access that location. You would need to add firmware directory in the share folder, and store firmwares in there.
What firmware are you missing?
I provided the direct link (back to the GitHub issue!) where I provided the firmware files.
And still, my question about the empty /mnt/ path remains unanswered.
I understand that you guys do all this in your free time and unpaid, and I appreciate it. But I also wonder where I took the wrong turn that my question led to this dead-end. Maybe we simply misunderstood each other (and it’s very likely my fault, so I beg your pardon).
By the way, I also tried to store the firmware files under /lib/firmware/ (as I mentioned in the GitHub issue), but that path also is empty after a reboot.
What does “exposed to the supervisor” mean? (quoted from an answer in the GitHub issue):
I my case I placed the firmware files in the /share folder exposed to the supervisor, specifically /share/firmware
I really don’t understand these details, and maybe that’s my problem (and therefore I asked).
Ok, only months later I understand that the paths described obviously meant the underlying system, whereas I logged into HA and placed them there. Well, at least I think that was my problem. I’ve now managed to get access to the underlying system with ssh via port 22222 and public/private keys and will see if that helps me further.
I hope that I am now in the right place:
# ls -al /mnt/data/supervisor/share/firmware
total 24
drwxr-xr-x 2 root root 4096 Nov 6 11:28 .
drwxr-xr-x 3 root root 4096 Nov 6 11:28 ..
-rw-r--r-- 1 root root 2728 Nov 6 11:28 dvb-demod-si2168-02.fw
-rw-r--r-- 1 root root 6919 Nov 6 11:28 dvb-demod-si2168-b40-01.fw
-rw-r--r-- 1 root root 2169 Nov 6 11:28 dvb-usb-it9303-01.fw
#
.
In case other users are interested in this, here’s what I did on a Windows 11 PC (PowerShell) to ssh into the underlying system):
In my case, the USB stick has the “D” as volume letter. Replace it by yours’ and make sure that the file content is ANSI encoded (not UTF-8) and with with Linux (LF), not Windows (CR LF) line ends. You can do this with e.g. Notepad++.
Then I unplugged the USB stick from my PC, plugged it into my Raspberry Pi 4 with HA, and restarted the system (not only HA). Then I was able to log in like this:
ssh -i ~/.ssh/id_rsa root@<IP address of my Raspberry Pi 4> -p 22222
Put your device’s IP address there. Voilà :
Welcome to Home Assistant OS.
Use `ha` to access the Home Assistant CLI.
#
# ls -al
total 2
drwx------ 4 root root 42 Oct 26 11:20 .
drwxr-xr-x 13 root root 222 Oct 26 15:04 ..
drwxr-xr-x 2 root root 1024 Apr 4 2023 .docker
drwxr-xr-x 2 root root 1024 Apr 4 2023 .ssh
#
# ls -al /
total 4
drwxr-xr-x 13 root root 222 Oct 26 15:04 .
drwxr-xr-x 13 root root 222 Oct 26 15:04 ..
lrwxrwxrwx 1 root root 7 Oct 26 11:54 bin -> usr/bin
drwxr-xr-x 17 root root 4060 Apr 4 2023 dev
drwxr-xr-x 28 root root 1080 Oct 26 15:04 etc
drwxr-xr-x 2 root root 3 Oct 26 11:54 home
lrwxrwxrwx 1 root root 7 Oct 26 11:54 lib -> usr/lib
lrwxrwxrwx 1 root root 3 Oct 26 11:54 lib64 -> lib
drwxr-xr-x 6 root root 68 Oct 26 11:20 mnt
dr-xr-xr-x 356 root root 0 Jan 1 1970 proc
drwx------ 4 root root 42 Oct 26 11:20 root
drwxr-xr-x 21 root root 620 Nov 6 17:47 run
lrwxrwxrwx 1 root root 8 Oct 26 11:54 sbin -> usr/sbin
dr-xr-xr-x 12 root root 0 Jan 1 1970 sys
drwxrwxrwt 7 root root 4096 Nov 6 18:05 tmp
drwxr-xr-x 7 root root 126 Oct 26 15:04 usr
drwxr-xr-x 8 root root 200 Apr 4 2023 var
#
# ls -al /mnt
total 21
drwxr-xr-x 6 root root 68 Oct 26 11:20 .
drwxr-xr-x 13 root root 222 Oct 26 15:04 ..
drwxr-xr-x 5 root root 16384 Jan 1 1970 boot
drwxr-xr-x 2 root root 3 Oct 26 11:20 config
drwxr-xr-x 6 root root 4096 Oct 30 10:14 data
drwxr-xr-x 6 root root 1024 Apr 4 2023 overlay
#
Hi, is your tuner work after putting the filles in “/mnt/data/supervisor/share/firmware” ? I put my firmware in the path and try many ways to make the kernel search path point to the folder. How did you make this persistent?
Even when I succeed to get the firmware uploaded I can’t get tvheadend to see my tuner. At the tvheadend boot I see “Tuner is busy. Error - 16” maybe this is my issue…
Any ideas?