Re: RPI4 8G - usb ssd boot Fedora Server with UEFI for Pi

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to arm-leave@xxxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux ARM (Vger)]     [Linux ARM]     [ARM Kernel]     [Fedora User Discussion]     [Older Fedora Users Discussion]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Maintainers]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [Linux Apps]     [KDE Users]     [Fedora Tools]     [Fedora Art]     [Fedora Docs]     [Asterisk PBX]

Powered by Linux