Raspberry Pi 3 B+ incompatibilities #12
Comments
You’ll need version 1.20180316-3 or newer of the https://packages.debian.org/sid/raspi3-firmware package. You can simply extract that package and copy the files to the first partition of the image after writing it to an SD card. Note that while this makes the device boot, there is some (intermittent?) trouble with the network interface, hence I haven’t uploaded a new image yet. |
I've seen your issue on the Raspberry Pi firmware project about the LAN device. Thanks for the tip with the newer firmware! I will for the time being install Raspbian and wait for this issue to be solved. I would like this RPi to be a DHCP/DNS server, so if the ethernet port is not working great that's a bit of a problem ;-) |
Let’s keep this open until we have a new image out which works on the B+ |
My experiance on the b+ I was able to get it to boot by manually updating the firmware files, specifically copying start*.elf fixup*.dat and bootcode.bin from https://github.com/raspberrypi/firmware . I also had to use hdmi_force_hotplug=1 to make it see my monitor but that is an issue with the kvm switch I use. Unfortunately I was not able to get a working network, the onboard Ethernet wouldn't see a link at all. I then tried an asix based USB hub with Ethernet, that saw the link but I got errors about USB resources when I tried to actually bring it up. |
The 4.16 kernel which is currently in experimental makes the onboard ethernet work. https://packages.debian.org/experimental/arm64/linux-image-4.16.0-trunk-arm64-unsigned/download The critical patch appears to be: Unfortunately the MAC address assigned appears to be random and the LEDs don't work. |
For the record, https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/drivers/net/usb/lan78xx.c?id=760db29bdc97b73ff60b091315ad787b1deb5cf5 is the commit in question. Unfortunately, 4.17-rc5 doesn’t carry the patch (see https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/drivers/net/usb/lan78xx.c?h=v4.17-rc5), so possibly 4.18 will be the first usable upstream kernel (unless we decide to go with patches in the interim). |
Ethernet works like a charm with 4.18.0-rc2. |
I managed to get Debian working on a RPi 3 B+ after a fair bit of tinkering: https://code.overdrivenetworks.com/blog/2018/07/03/debian-buster-on-a-raspberry-pi-3-model-b-plus/ Here are my general takeaways, which I hope might help anyone else trying to set this up:
In order to run a custom kernel I purged |
Mine works with the vanilla bcm2837-rpi-3-b-plus.dtb but does not boot with the Raspi-dtb.
There is an open pull request to replace iptables in the default install, the current solution appears needlessly convoluted to me anyway.
Worked out of the box for me.
Same here.
Same. Kodi even seems to need cma=512M, else vc4 crashes after some time.
It compiles fine apparently, there just seem to be duplicate modules in -di packages. |
The raspi3-firmware package needs to be updated. Either I am to stupid to find the current source repo or the migration from Alioth to Salsa isn't finished yet. |
Hey, I've got my Pi 3 B+ today and went directly for Debian arm64. After changing this build to fetch the latest 4.18 kernel from experimental (rc5) I was able to boot and connect via ssh, USB and HDMI video are also working fine. But what exactly do I have to do to get audio working at all? I'm quite confused where the problem is. Do I need a newer raspy3-firmware package? A different dtb file? Do I just have to modprobe a missing module? Also I read I have to add dtparams=audio=on to the /boot/config.txt, while I only have a /boot/firmware/config.txt and changes to that file seem to be gone after a second reboot (and audio still isn't working).
|
Are you lacking HDMI audio or analog audio? |
Ah, that's good to know. Every tutorial in the internet seems to assume that you're running raspbian without ever mentioning it.
I seem to be missing both output devices. There is only that vc4hdmi card in alsa which didn't seem to work. When I try to use aplay or speaker-test, I get this message:
For now I only want to get the HDMI output working. |
Are you sure this isn't a configuration problem, like PulseAudio blocking ALSA? |
I don't have pulseaudio installed, just alsa (libasound2, alsa-utils). I can see that some modules for audio are loaded
and there is a device showing as posted above. But when I open alsamixer, there are no controls. It might be a stupid configuration mistake on my side, maybe I forgot to install something that is required? Alsa can see a device, but there doesn't seem to be any output sinks in it. |
Please try playing white noise with a supported sample rate, e.g. |
That brings me to the same error:
I tried it as root and as a user in the audio group, the output is the same. Do you have manually created a asoundrc? Edit: I got some sounds out of my system. I added this .asoundrc
and got a different error, saying I'm using a unsupported format. With tl;dr: I could say my problem is solved. It has nothing to do with arm64 or such, it's just that ALSA can't do the steps necessary to convert the audio to IEC958_SUBFRAME_LE. With pulseaudio, you just skip that problem as pulseaudio is handling such conversions. So HDMI sound is running fine, but not with bare metal ALSA. Maybe this information should be added somewhere, as pulseaudio isn't in the build by default and other people might end with this problem. |
I think it really is an issue with the driver:
# dmesg | grep vc4
[ 8.447485] vc4_hdmi 3f902000.hdmi: ASoC: Failed to create component
debugfs directory
[ 8.462766] vc4_hdmi 3f902000.hdmi: vc4-hdmi-hifi <-> 3f902000.hdmi
mapping ok
[ 8.479599] vc4_hdmi 3f902000.hdmi: ASoC: no DMI vendor name!
[ 8.490586] vc4-drm soc:gpu: bound 3f902000.hdmi (ops vc4_hdmi_ops
[vc4])
[ 8.500857] vc4-drm soc:gpu: bound 3f806000.vec (ops vc4_vec_ops
[vc4])
[ 8.510764] vc4-drm soc:gpu: bound 3f400000.hvs (ops vc4_hvs_ops
[vc4])
[ 8.520592] vc4-drm soc:gpu: bound 3f206000.pixelvalve (ops
vc4_crtc_ops [vc4])
[ 8.530974] vc4-drm soc:gpu: bound 3f207000.pixelvalve (ops
vc4_crtc_ops [vc4])
[ 8.541256] vc4-drm soc:gpu: bound 3f807000.pixelvalve (ops
vc4_crtc_ops [vc4])
[ 8.575488] vc4-drm soc:gpu: bound 3fc00000.v3d (ops vc4_v3d_ops
[vc4])
[ 8.584670] fb: switching to vc4drmfb from simple
[ 8.600493] [drm] Initialized vc4 0.0.0 20140616 for soc:gpu on
minor 0
[ 8.675829] vc4-drm soc:gpu: fb0: frame buffer device
[ 57.309661] vc4_hdmi 3f902000.hdmi: ASoC: can't open interface
3f902000.hdmi: -19
That last line will be repated for every attempt to play sound.
|
FWIW - I have held off producing a new image until I get some important issues ironed out - Most important, getting the wireless interface working. |
For those who didn't notice, since a few days the 4.18 kernel went into unstable. Changing my current installation to the linux-image-arm64 meta-package from unstable went fine, the new current package is linux-image-4.18.0-1-arm64 (which is 4.18.6). For new installations experimental won't be needed anymore, the kernel can be installed via
Maybe there are some relevant fixes in the new version. https://tracker.debian.org/news/985488/accepted-linux-4186-1-all-source-into-unstable-unstable/ |
FWIW: as bioxz says the kernel landed in unstable. I reverted HEAD and built the image. It boots, but hangs for me in "random: crng init done" I'm trying now building the image with haveged in it. |
@perezmeyer happened to me too on a Raspberry Pi 3 B. |
Or mounting the SD card and do the right foo to install it, but no changes I'm afraid. |
Thanks! But in my case it seems to match what I have in the boot partition:
|
@perezmeyer wait an hour and then press ENTER: if it does nothing, you found a known bug. :-(
|
@licaon-kter I've experimented with using the Raspbian kernel on a Debian userland with mixed results... Things got a bit out of sync in the matter of months: iptables broke with the nftables migration and more even recently, my Ethernet link disappeared! (In other words, I wouldn't vouch for the stability of such a setup...) I want to try 4.18 again some time, but having an always hot Pi is not that great either :( |
I updated to 4.19.0-1-arm64 from the buster repository (updated all other packages too, including raspberry firmware) and everything seems to be working fine so far. Had to fix the cmdline.txt since it overwrote it to boot from SD card (i am booting via USB). And it also removed the device tree property from config.txt. But this doesn't seem to be needed anymore since it seems to work fine now (with and without the property). Although i only use network and USB. so i am wondering, is copying the file and setting device_tree=bcm2837-rpi-3-b-plus.dtb still recommended? another question: since the mainline kernel can't change the CPU frequency yet as mentioned in this thread before, i am wondering what frequency the Pi3 B+ is running on when nothing is configured. I haven't found a way to query the freq values. |
https://www.raspberrypi.org/documentation/hardware/raspberrypi/frequency-management.md FYI, I'm running the Raspbian kernel + nf_table modules and it's ok, downclocks to 600MHz as needed. |
well yes. You would need the raspbian kernel for it to be working - thats what i assumed. I am running debian buster + mainline. |
after a few days uptime i am getting the following msg in the kernel log as my USB drive disconnects. Jan 21 03:14:38 kernel: [ 3181.031839] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 7 - ChHltd set, but reason is unknown Jan 21 08:47:12 kernel: [23134.804744] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 1 - ChHltd set, but reason is unknown Jan 21 14:43:44 kernel: [44526.562061] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 0 - ChHltd set, but reason is unknown Jan 21 16:51:39 kernel: [52202.131084] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 4 - ChHltd set, but reason is unknown the USB drive has the OS and swap on it so i don't get any more logs (system halts obviously). Sometimes there is a day between a channel message, but after 4 channels break, its over. anyone else seeing something like this in their logs? I assume the dwc2 USB driver is part of the mainline kernel. I checked my old Pi2 with raspbian and it is using a custom "dwc_otg" driver. (however after searching a bit i found that you can apparently use dwc2 too if you set a flag https://raspberrypi.stackexchange.com/questions/77059/what-does-dtoverlay-dwc2-really-do )
edit: fixed formatting |
strangly i have the same issue on one pi 3b+ rev 1.3 i've loaded on a different stick an libreelec and this thing runs without issue |
same here, the touch screen it self works, but I can't get the X11/Xorg configuration to work. |
after reading your reply i decided to try a different SSD USB adapter (from a different vendor) but with no luck, it only took a few hours with the new adapter until i got the first two msgs in the kernel log. (Maybe i am unlucky and both vendors use the same hardware but i don't think this is likely - one is externally powered and universal, the other is not) not quite sure how to proceed from here. As i understand it dwc2 is part of the mainline kernel and raspbian maintains a different driver called dwc_otg. Assuming this issue does not happen on dwc_otg getting it to run with a mainline kernel is probably not trivial. I might have to give up here and just run raspbian :( |
@mbien or, keep the distro but compile only the Raspbian kernel, less hassle imho. |
i recently ordered a new pi and this one runs without issue, a few days ago i've rebuild an image and put it on the pi that was crashing constantly which is now running perfectly fine. not sure what's different other then the build dates. i haven't checked yet if there is a new kernel. |
Great news — I just built an image with today's Buster, and the wireless works! :-D |
Hello, I’m using a Raspberry Pi 3 B+ Rev. 1.3. I downloaded the 20190206(with linux-image-4.19.0-2) image, checked it with the “sha256 -c” command, then wrote the image to a microSD card. When I boot it up it seems to get pretty far into the boot up process, but then I get a kernel panic. After sitting there for a few minutes it then spits out a stack(?) trace. I don’t know what to do about that, but I wanted to let someone know in case it helps. I can try to give whatever info that might be helpful. |
As a counter-example, I just put the Feb 6 image on my RPi 3B+, and it booted like a champ. (Thank you gwolf!) |
@madler Nice. I suppose I did something wrong but I'm not sure. Did you ssh into it? Or did you boot up to a console login prompt on a screen? |
@OneTinSoldier66, please confirm your image was correctly downloaded (check the SHA256 matches, https://people.debian.org/~gwolf/raspberrypi3/20190206/20190206-raspberry-pi-3-buster-PREVIEW.img.xz.sha256.asc ; follow https://wiki.debian.org/RaspberryPi3 if you need help to do it. |
EDIT: It’s working fine now. I have a login prompt on-screen now after using a different SD card. Maybe it was a bad microSD card but I’m going to try it again since it’s a brand new one. Thank you! ———————————————— As I stated in my original post, the sha256 checksum matched when I first checked it. With the same files still on my hard drive, I booted up my PC, ran the sha256 checksum again and it reported back ‘OK’ just like it did when I ran it yesterday. Then I took out a different microSD card, deleted all partitions on it, and then I ran the dd command to extract and write the 20190206 image onto it --> xzcat 20190206-raspberry-pi-3-buster-PREVIEW.img.xz | dd of=/dev/sdb bs=64k oflag=dsync status=progress Is there anything else I need to do before trying to boot with it? I would like to boot up to a console login screen, on the monitor that I have hooked up to the Raspberry Pi. I’m not trying to ssh in over a network. |
@jlu5 I am the guy you linked months ago that noticed that iptables and ufw is broken. Edit: That solves the ufw/iptables problems. Not ideal but it works.
then |
Work for me! |
Still I wouldn't recommend it for production use. |
ip tables is basically deprecated in modern linux. Debian buster is transitioning to nftables. Newer kernels already use the netfilter module and emulate iptables on top via the userspace programs. If you have problems with iptables it can be that the userspace programs no longer fit to the kernel interface. Both iptables and ip6tables userspace programs are replaced by "nft". Make sure that you are not using both at the same time. more info: |
I am only using it with ufw and that is probably not updated. |
nftables is the way to go now, if you hare to create a new set of configuration there is no reason to use iptables. You can revert previous commands with:
|
@Vincent14 I am glad that you understand my issue. Ufw is totally going work with nftables currently. Not. If Ubuntu had proper hardware accerlation and would be more up to date then I would never ever use that Debian piece of dinosaur named Raspian. Basically everything I want to do requires me to get pre compiled binaries somewhere else or wait an hour for the Pie to compile them. |
The problem is nftables is broken on Raspbian Buster raspberrypi/linux#2177 (reference) (just see it from few minutes) |
Well. Didn't expect anything else really. |
Building an image with the official building Repo https://github.com/RPi-Distro/pi-gen seems to work very good. UFW works. I am still going to ubuntu. |
This issue has conflated too many different issues - Some of them remain open, some of them are long closed. But as a way to track something specific, this issue is too long and no longer useful ☹ |
I was trying to use your build image from January 2018 on my Raspberry Pi 3 B+.
Simply putting the image on a USB stick and trying it did not work. I see the red LED, then the green LED blink, and then the green LED enter a loop state with 4 long pulse followed by 4 short pulse.
I've tried to edit the config.txt file to change the device tree entry to
bcm2837-rpi-3-b-plus.dtb
and duplicated the existingbcm2837-rpi-3-b.dtb
asbcm2837-rpi-3-b-plus.dtb
(simply cp to the new name), as suggested for Fedora 28 beta. But I end up in the same error.I wanted to regenerate the image because perhaps the uboot needs an update, but I do not manage to build it on my platform (see #11). Would you have any advice on how to proceed?
The text was updated successfully, but these errors were encountered: