Today, I had to quickly debug a Pi which had a problem – it’d kernel panic right after boot due to the WiFi driver. It was probably a software problem since it would only happen on that specific SD card – on any of the Pi 3 I have. I had to solve it quickly – and all the solutions on the internet involved editing files on the Pi ext4 filesystem. I couldn’t log in the Pi, since, well, kernel panic, and I couldn’t mount the ext4 FS because I didn’t have a Linux machine handy. I did have access to config.txt, though.
I finally found a solution on OSMC forums. The way to disable the interface that Pi uses to communicate with Broadcom WiFi is:
Insert that in config.txt and the WiFi is going to be ignored. It’s not a power-saving solution – I can’t be sure it actually turns the WiFi chipset off, but it does prevent the OS from detecting it.
Say you, like me, had a motherboard with an incorrectly flashed BIOS. What do you do in that case? Well, best case, you use DualBIOS or an integrated BIOS recovery tool. What if neither is available? Well, you get a programmer and flash it. What if then you’re stuck with non-matching motherboard and CPU because:
- The latest BIOS version which is available as binary is not compatible with the CPU you’re on (“please update BIOS for Richland”)
- You can’t get another CPU in less than a month and a lot of money
- All the versions which support your CPU are available only as self-unpacking EXEs which seem to work only when you’re in Windows, which you don’t seem to be able to do because the BIOS is not letting you:
Well, there actually is a solution.
- Get a flash drive, put MS-DOS on it (either format it using Windows =<7 and that checkbox which is there)
- Put that damned EXE on this drive and insert it into the motherboard (rear USB 2.0 ports preferred, the ideal orifice would be located on the body of the person responsible for a decision of not providing ROMs)
- Boot and press F1 to go into that damn BIOS
- Go “Settings”->”Save and Exit” -> override boot order and boot into that flash drive
- Enter “dir” to see the filename of the BIOS flashing tool
- Run it and reboot when it allows you.
The boards on which this should work, according to the BIOS release notes:
FM2-A55M-E33 /FM2-A55M-E23 / FM2-A55M-P33 / FM2-A75MA-P33 / FM2-A85XMA-P33
You might have some luck with other boards, too. This approach worked for me with FM2-A75MA-P33.
Luakit, even though it’s a quite awesome (and fast!) browser, doesn’t play YouTube videos out-of-the-box. At least, when installing it from Raspberry Pi Debian repos, it doesn’t pull the dependencies need and doesn’t even list the packages as ‘recommended’. Nowhere I could find it, but one Arch Linux forum page had a hint, which I decrypted:
Install gstreamer1.0-libav and gstreamer1.0-alsa – the latter being responsible for sound in YouTube videos.
That’s it. Hope it helps =) If you find it’s still not working for you – comment below, I’ll try to debug the issue.
I installed the Debian Jessie (testing) system from an around 3-month-old CD. Then I installed virtualbox and while installing it has complained that kernel sources are not found. I’ve installed linux-headers package and all the linux-headers packages that I could have found, but still no luck. I kept getting the following message:
The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing
as root. If it is available in your distribution, you should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.
/etc/init.d/vboxdrv didn’t even exist! As I knew VirtualBox used DKMS, I did aptitude reinstall virtualbox-dkms, and it still outputted “Module build for the currently running kernel was skipped since the kernel source for this kernel does not seem to be installed.” I even installed linux-source – it didn’t help. So what was it?
My distribution had an older kernel, as it was on the CD I installed everything from. Since then, things changed – 3.13 was replaced by 3.14. The repository only had linux headers for 3.14 – and when I installed linux-headers metapackage, I installed headers for 3.14, even though system used the 3.13 kernel. So – when a vboxdrv can’t be build, check if you really have headers for the kernel version you are using =)
Now I just need to learn how to read properly. And to reboot my PC =)
…You gotta find another way. For example, I’ve received an almost-disassembled 15″ monitor that I’ll put in the drawer for quite a while just because I haven’t got time for it yet. But first, I’ve decided to see why the person I received this screen from was so generous… Turns out that most of the screws couldn’t be unscrewed, those were the ones connecting PCB and stand with the base metal plate. Neither could they be unscrewed by me, unfortunately… So here comes the dremel!
Detaching plastic cover that was held by the stand:
Now this monitor needs a new case… And I’m not good at making cases out of scratch, so I’ll put it aside for a while =) Life lesson for you – buy a good set of different screwdrivers so you can always find the right one and not screw up all the screws.
And for a nice ending I’ll add some cats 😉