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


### 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/

-- 
  Zach Villers
  z...@mailup.net
_______________________________________________
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

Reply via email to