Hi,
On 1/3/21 12:46 PM, Zach Villers wrote:
I recently got Fedora 33 Server booting on my RPI 4 - 8G using the RPI4 UEFI
firmware. The usb3 adapter I used worked fine with Raspbian, but with Fedora
33, there was an issue. I've worked around this issue and another involving F33
complaining about the lack of sd card. These are my brief notes, hopefully they
help someone. If a longer write up or a bug report would be helpful, I'm happy
to do so. Also looking for feedback if I could have done anything
better/different.
Hardware:
RPI 4B - 8G model
128G "Inland" brand ssd - OEM Phison - Model 'SATA AAD'
Orico Brand SATA to USB3 external enclosure - model 'ORICO 2139U3'
- uses JMicron Technology Corp. JMS578 chip - Sata 6Gb/s
UEFI Firmware: https://github.com/pftf/RPi4/releases/tag/v1.21
After Fedora install;
- switched advanced settings in UEFI from 'ahci' to 'devicetree'
- removed 3G ram limit
So, I think you meant you switched from acpi to devicetree. This doesn't
really buy you much at the moment unless you also change the sd config
to emmc2. That is because linux doesn't know how to change the
undocumented SD routing, so the sd card is routed to the PIO arasan, and
the wifi is routed to the emmc2 controller. Hence the piles of messages
your seeing below. Of course if you change the emmc2 setting you will be
stuck with the firmware settings until you upgrade firmware versions.
There are patches to fix this:
https://edk2.groups.io/g/devel/topic/patch_v4_0_7_rpi4_enable/79453713?p=,,,20,0,0,0::recentpostdate%2Fsticky,,,20,2,20,79453713
as well as the ACPI patches for the SD/wifi. So when all this is done,
the recommended setting is going to be acpi/emmc2/no 3G limit/PCIe conduit.
### Problems
1. Pi treats usb drive as uas device causing extremely slow read/write - ext4
fs would not mount rw
'''
[ 1247.365069] usb 2-1: reset SuperSpeed Gen 1 USB device number 3
using xhci_hcd
[ 1247.387663] scsi host0: uas_eh_device_reset_handler success
[ 1279.648929] sd 0:0:0:0: [sda] tag#3 uas_eh_abort_handler 0
uas-tag 4 inflight: CMD IN
[ 1279.648937] sd 0:0:0:0: [sda] tag#3 CDB: opcode=0x28 28 00 03 fa
64 50 00 01 00 00
[ 1279.649085] sd 0:0:0:0: [sda] tag#1 uas_eh_abort_handler 0
uas-tag 2 inflight: CMD IN
[ 1279.649091] sd 0:0:0:0: [sda] tag#1 CDB: opcode=0x28 28 00 00 00
10 00 00 04 00 00
[ 1279.649553] sd 0:0:0:0: [sda] tag#0 uas_eh_abort_handler 0
uas-tag 1 inflight: CMD IN
[ 1279.649559] sd 0:0:0:0: [sda] tag#0 CDB: opcode=0x28 28 00 00 00
0c 00 00 04 00 00
[ 1286.049165] sd 0:0:0:0: tag#4 uas_eh_abort_handler 0 uas-tag 5
inflight: CMD
[ 1286.049173] sd 0:0:0:0: tag#4 CDB: opcode=0x0 00 00 00 00 00 00
[ 1286.065838] scsi host0: uas_eh_device_reset_handler start
'''
2. Pi is missing sdhc card ( mostly annoying, could've just turned off kernel
message echo to console? )
'''
mmc1: Timeout waiting for hardware cmd interrupt.
mmc1: sdhci: =========== SDHCI REGISTER DUMP ===========
mmc1: sdhci: blah
'''
### Solutions
1. uas device
- add usb quirk to kernel args in /etc/default/grub
'''
GRUB_CMDLINE_LINUX="usb-storage.quirks=152d:0578:u"
'''
- add quirk to config.txt (is this necessary?)
- rebuild grub with grub2-mkconfig
- dracut -f (not sure if I needed to do this?)
2. sdhc card
- block(black)list sdhc drivers
- /etc/modprobe.d/no_sdhc.conf
'''
blacklist sdhci
blacklist sdhci_platform
blacklist sdhci_iproc
install sdhci /bin/false
install sdhci_platform /bin/false
install sdhci_iproc /bin/false
'''
- From [finishing steps for rhel
8](https://access.redhat.com/solutions/41278)
- added 'sdhci.blacklist=1 rd.driver.blacklist=sdhci' to the above
GRUB_CMDLINE_LINUX
- rebuilt grub again
- (make a copy of and) rebuilt initramfs
'dracut --omit-drivers sdhci -f'
### Things I didn't do
1. fool around with kdump
2. Edit the installer kernel CMDLINE to blacklist the sdhci module and add the
usb quirks
### Other Helpful notes
Article -
https://fwmotion.com/blog/operating-systems/2020-09-04-installing-fedora-server-onto-pi4/
_______________________________________________
arm mailing list -- arm@lists.fedoraproject.org
To unsubscribe send an email to arm-le...@lists.fedoraproject.org
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/arm@lists.fedoraproject.org