New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Raspberry Pi 4 Modell 4GB USB Ports suspended with Raspberry Pi OS 32 #3971
Comments
The only thing that helps running the 32 bit version is using arm_64bit=1 in /boot/config.txt |
popcornmix
pushed a commit
that referenced
this issue
Dec 1, 2020
Robin Murphy pointed out that if the arm-smmu driver probes before the qcom_scm driver, we may call qcom_scm_qsmmu500_wait_safe_toggle() before the __scm is initialized. Now, getting this to happen is a bit contrived, as in my efforts it required enabling asynchronous probing for both drivers, moving the firmware dts node to the end of the dtsi file, as well as forcing a long delay in the qcom_scm_probe function. With those tweaks we ran into the following crash: [ 2.631040] arm-smmu 15000000.iommu: Stage-1: 48-bit VA -> 48-bit IPA [ 2.633372] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 ... [ 2.633402] [0000000000000000] user address but active_mm is swapper [ 2.633409] Internal error: Oops: 96000005 [#1] PREEMPT SMP [ 2.633415] Modules linked in: [ 2.633427] CPU: 5 PID: 117 Comm: kworker/u16:2 Tainted: G W 5.10.0-rc1-mainline-00025-g272a618fc36-dirty #3971 [ 2.633430] Hardware name: Thundercomm Dragonboard 845c (DT) [ 2.633448] Workqueue: events_unbound async_run_entry_fn [ 2.633456] pstate: 80c00005 (Nzcv daif +PAN +UAO -TCO BTYPE=--) [ 2.633465] pc : qcom_scm_qsmmu500_wait_safe_toggle+0x78/0xb0 [ 2.633473] lr : qcom_smmu500_reset+0x58/0x78 [ 2.633476] sp : ffffffc0105a3b60 ... [ 2.633567] Call trace: [ 2.633572] qcom_scm_qsmmu500_wait_safe_toggle+0x78/0xb0 [ 2.633576] qcom_smmu500_reset+0x58/0x78 [ 2.633581] arm_smmu_device_reset+0x194/0x270 [ 2.633585] arm_smmu_device_probe+0xc94/0xeb8 [ 2.633592] platform_drv_probe+0x58/0xa8 [ 2.633597] really_probe+0xec/0x398 [ 2.633601] driver_probe_device+0x5c/0xb8 [ 2.633606] __driver_attach_async_helper+0x64/0x88 [ 2.633610] async_run_entry_fn+0x4c/0x118 [ 2.633617] process_one_work+0x20c/0x4b0 [ 2.633621] worker_thread+0x48/0x460 [ 2.633628] kthread+0x14c/0x158 [ 2.633634] ret_from_fork+0x10/0x18 [ 2.633642] Code: a9034fa0 d0007f73 29107fa0 91342273 (f9400020) To avoid this, this patch adds a check on qcom_scm_is_available() in the qcom_smmu_impl_init() function, returning -EPROBE_DEFER if its not ready. This allows the driver to try to probe again later after qcom_scm has finished probing. Reported-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: John Stultz <john.stultz@linaro.org> Reviewed-by: Robin Murphy <robin.murphy@arm.com> Cc: Robin Murphy <robin.murphy@arm.com> Cc: Will Deacon <will@kernel.org> Cc: Andy Gross <agross@kernel.org> Cc: Maulik Shah <mkshah@codeaurora.org> Cc: Bjorn Andersson <bjorn.andersson@linaro.org> Cc: Saravana Kannan <saravanak@google.com> Cc: Marc Zyngier <maz@kernel.org> Cc: Lina Iyer <ilina@codeaurora.org> Cc: iommu@lists.linux-foundation.org Cc: linux-arm-msm <linux-arm-msm@vger.kernel.org> Link: https://lore.kernel.org/r/20201112220520.48159-1-john.stultz@linaro.org Signed-off-by: Will Deacon <will@kernel.org>
I installed 5.10 to get the referenced driver but still no USB working: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the bug
Raspberry Pi 4 Modell 4GB USB Ports suspended with RPI OS 32.
Ports can't be activated.
To reproduce
Install latest image of Raspberry Pi OS 32 (2020-08-20-raspios-buster-armhf) with Raspberry Imager.
Expected behaviour
USB hardware attached to the ports should get recognized.
Actual behaviour
USB hardware attached to the ports are not recognized as ports are suspended.
System
Raspberry Pi 4 Modell B 4GB
raspinfo.txt
Logs and Additional context
Thread in forum https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=291752
Here is the summary of what I did with a lot to read with logs and everything that could be interessting:
The USB ports are basically working with
But not working with
OS used
Chronological order and logs
Sorry I did not know about raspinfo before I tried to open an issue here.
interessting part from dmesg
complete dmesg
dmesg1.txt
The I did a sudo apt update, sudo full-upgrade
Issue still persists.
Some info regarding usb
I installed uhubctl (https://github.com/mvp/uhubctl) and tried to activate port 1
dmesg tells me the following after the command is finished
I executed rpi-update (sure, why not...)
Issue still persists.
2. Ubuntu 64 installed with Noobs
No logs saved but same usb error messages as in Raspberry Pi OS 32.
3. Raspberry Pi OS 32 installed with Raspberry Imager (can't recall if it was the image from May or August)
No logs saved but same usb error messages as before.
4. Raspberry Pi OS 64 installed with Raspberry Imager (2020-08-20-raspios-buster-arm64)
Stock version from image, no update etc.
No logs saved but there where no usb errors, usb was working fine!
5. Raspberry Pi OS 32 installed with Raspberry Imager (still can't recall if it was the image from May or August)
No logs saved but same usb error messages as before...
I was told in the official forum to install the 64 version again and run another full upgrade and then switch back to 32 and check if it's ok.
6. Raspberry Pi OS 64 installed with Raspberry Imager (2020-08-20-raspios-buster-arm64)
I updated it with apt update and apt full-upgrade
dmesg2.txt
Then I swapped the cards
7. Raspberry Pi OS 32 installed with Raspberry Imager (2020-08-20-raspios-buster-armhf)
dmesg3.txt
After a full-upgrade also still not working
dmesg4.txt
Still not working.
FWIW dmesg from Noobs (in addition a usb drive was attached and correctly recognised)
dmesg5.txt
The text was updated successfully, but these errors were encountered: