# FreeBSD 12.1 Installation cannot detect MMC Drive (HS200)



## Firewire (Dec 10, 2020)

Hello!

Trying to load FreeBSD 12.1 on a HP t740 Thin Client which has the 3.2Ghz Ryzen with a 64GB MMC card on board.
When attempting to install, it will not detect or show the internal MMC device (and only shows the USB memstick which has the installer).

I have tried multiple bios settings including turning off secure boot, enabling and disabling legacy boot etc. I then tried to install Linux Mint which installs and boots without issue and dmesg shows it can see a HS200 MMC device. I'm new to FreeBSD and have tried to research solutions as much as I can.

What am I missing? or most importantly what else can I provide for advice?

Thanks in advance - Firewire


----------



## SirDice (Dec 10, 2020)

Firewire said:


> Trying to load FreeBSD 12.1 on a HP t740 Thin Client which has the 3.2Ghz Ryzen with a 64GB MMC card on board.


Can you try with 12.2 instead?


----------



## Firewire (Dec 10, 2020)

Thanks Sir Dice - I'll try that in the morning.


----------



## SirDice (Dec 10, 2020)

I don't know if it's supported or not but it's best to try with the latest versions. Devices typically get added with each new version.


----------



## T-Daemon (Dec 10, 2020)

In case the 12.2 doesn't recognise the device either:


Firewire said:


> a HP t740 Thin Client ..... with a 64GB MMC card on board



According to the storage specifications it's an 64 GB M.2 eMMC flash module. eMMC is supported beginning with the 12 branch. I'm not sure if it's not recognized being a M.2 module, couldn't find a reference, or a question of device ID.


```
# ls /boot/kernel | grep mmc
mmc.ko
mmcsd.ko

# strings /boot/kernel/kernel | grep eMMC
eMMC 5.0 Controller
AMD eMMC 5.0 Controller
Intel Braswell eMMC 4.5.1 Controller
Intel Apollo Lake eMMC 5.0 Controller
Intel Bay Trail/Braswell eMMC 4.5/4.5.1 Controller
eMMC:%s%s%s%s
Intel Bay Trail eMMC 4.5 Controller
```

Please post output of `pciconf -lv` (enter "Shell" or "Live CD" in the "Welcome" installer dialog). You can save the output redirecting into a file, on a mounted second USB memstick.


----------



## Firewire (Dec 10, 2020)

T-Daemon - thankyou, I'm going to try a 12.2 install today and will respond with the pciconf output as well.

You're spot on with the spec of the device.


----------



## Firewire (Dec 11, 2020)

Quick update .. 12.2 no go, same result.

Will post output of pciconf next.


----------



## Firewire (Dec 14, 2020)

Hi all,

Apologies for the late reply to this - thanks to our fantastically terrible National Broadband Network here in Aus ... my internet has been down most of the weekend. 

I have some outputs for you;

I found this in DMESG;

```
mmc0: Card at relative address 2 failed to execute initial tuning
mmcsd0: Error reading EXT_CSD Timeout
```
and the pciconf output;

```
hostb0@pci0:0:0:0:	class=0x060000 card=0x8522103c chip=0x15d01022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raven/Raven2 Root Complex'
    class      = bridge
    subclass   = HOST-PCI
none0@pci0:0:0:2:	class=0x080600 card=0x8522103c chip=0x15d11022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raven/Raven2 IOMMU'
    class      = base peripheral
    subclass   = IOMMU
hostb1@pci0:0:1:0:	class=0x060000 card=0x00000000 chip=0x14521022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Family 17h (Models 00h-1fh) PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
pcib1@pci0:0:1:1:	class=0x060400 card=0x8522103c chip=0x15d31022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raven/Raven2 PCIe GPP Bridge [6:0]'
    class      = bridge
    subclass   = PCI-PCI
pcib2@pci0:0:1:2:	class=0x060400 card=0x8522103c chip=0x15d31022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raven/Raven2 PCIe GPP Bridge [6:0]'
    class      = bridge
    subclass   = PCI-PCI
pcib3@pci0:0:1:3:	class=0x060400 card=0x8522103c chip=0x15d31022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raven/Raven2 PCIe GPP Bridge [6:0]'
    class      = bridge
    subclass   = PCI-PCI
pcib4@pci0:0:1:7:	class=0x060400 card=0x8522103c chip=0x15d31022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raven/Raven2 PCIe GPP Bridge [6:0]'
    class      = bridge
    subclass   = PCI-PCI
hostb2@pci0:0:8:0:	class=0x060000 card=0x00000000 chip=0x14521022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Family 17h (Models 00h-1fh) PCIe Dummy Host Bridge'
    class      = bridge
    subclass   = HOST-PCI
pcib5@pci0:0:8:1:	class=0x060400 card=0x00001022 chip=0x15db1022 rev=0x00 hdr=0x01
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raven/Raven2 Internal PCIe GPP Bridge 0 to Bus A'
    class      = bridge
    subclass   = PCI-PCI
intsmb0@pci0:0:20:0:	class=0x0c0500 card=0x8522103c chip=0x790b1022 rev=0x61 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'FCH SMBus Controller'
    class      = serial bus
    subclass   = SMBus
isab0@pci0:0:20:3:	class=0x060100 card=0x8522103c chip=0x790e1022 rev=0x51 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'FCH LPC Bridge'
    class      = bridge
    subclass   = PCI-ISA
hostb3@pci0:0:24:0:	class=0x060000 card=0x00000000 chip=0x15e81022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raven/Raven2 Device 24: Function 0'
    class      = bridge
    subclass   = HOST-PCI
hostb4@pci0:0:24:1:	class=0x060000 card=0x00000000 chip=0x15e91022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raven/Raven2 Device 24: Function 1'
    class      = bridge
    subclass   = HOST-PCI
hostb5@pci0:0:24:2:	class=0x060000 card=0x00000000 chip=0x15ea1022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raven/Raven2 Device 24: Function 2'
    class      = bridge
    subclass   = HOST-PCI
hostb6@pci0:0:24:3:	class=0x060000 card=0x00000000 chip=0x15eb1022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raven/Raven2 Device 24: Function 3'
    class      = bridge
    subclass   = HOST-PCI
hostb7@pci0:0:24:4:	class=0x060000 card=0x00000000 chip=0x15ec1022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raven/Raven2 Device 24: Function 4'
    class      = bridge
    subclass   = HOST-PCI
hostb8@pci0:0:24:5:	class=0x060000 card=0x00000000 chip=0x15ed1022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raven/Raven2 Device 24: Function 5'
    class      = bridge
    subclass   = HOST-PCI
hostb9@pci0:0:24:6:	class=0x060000 card=0x00000000 chip=0x15ee1022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raven/Raven2 Device 24: Function 6'
    class      = bridge
    subclass   = HOST-PCI
hostb10@pci0:0:24:7:	class=0x060000 card=0x00000000 chip=0x15ef1022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raven/Raven2 Device 24: Function 7'
    class      = bridge
    subclass   = HOST-PCI
re0@pci0:1:0:0:	class=0x020000 card=0x34687470 chip=0x816810ec rev=0x06 hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    device     = 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller'
    class      = network
    subclass   = ethernet
re1@pci0:2:0:0:	class=0x020000 card=0x8522103c chip=0x816810ec rev=0x0e hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    device     = 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller'
    class      = network
    subclass   = ethernet
none1@pci0:2:0:1:	class=0x070002 card=0x8522103c chip=0x816a10ec rev=0x0e hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    class      = simple comms
    subclass   = UART
none2@pci0:2:0:2:	class=0x070002 card=0x8522103c chip=0x816b10ec rev=0x0e hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    class      = simple comms
    subclass   = UART
none3@pci0:2:0:3:	class=0x0c0701 card=0x8522103c chip=0x816c10ec rev=0x0e hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    class      = serial bus
    subclass   = IPMI
ehci0@pci0:2:0:4:	class=0x0c0320 card=0x8522103c chip=0x816d10ec rev=0x0e hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    class      = serial bus
    subclass   = USB
iwm0@pci0:3:0:0:	class=0x028000 card=0x00148086 chip=0x25268086 rev=0x29 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Wireless-AC 9260'
    class      = network
sdhci_pci0@pci0:4:0:0:	class=0x080501 card=0x00021217 chip=0x86201217 rev=0x01 hdr=0x00
    vendor     = 'O2 Micro, Inc.'
    class      = base peripheral
    subclass   = SD host controller
vgapci0@pci0:5:0:0:	class=0x030000 card=0x8522103c chip=0x15dd1002 rev=0x82 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
    device     = 'Raven Ridge [Radeon Vega Series / Radeon Vega Mobile Series]'
    class      = display
    subclass   = VGA
hdac0@pci0:5:0:1:	class=0x040300 card=0x15de1002 chip=0x15de1002 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
    device     = 'Raven/Raven2/Fenghuang HDMI/DP Audio Controller'
    class      = multimedia
    subclass   = HDA
none4@pci0:5:0:2:	class=0x108000 card=0x8522103c chip=0x15df1022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Family 17h (Models 10h-1fh) Platform Security Processor'
    class      = encrypt/decrypt
xhci0@pci0:5:0:3:	class=0x0c0330 card=0x8522103c chip=0x15e01022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raven USB 3.1'
    class      = serial bus
    subclass   = USB
xhci1@pci0:5:0:4:	class=0x0c0330 card=0x8522103c chip=0x15e11022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raven USB 3.1'
    class      = serial bus
    subclass   = USB
none5@pci0:5:0:5:	class=0x048000 card=0x8522103c chip=0x15e21022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Raven/Raven2/FireFlight/Renoir Audio Processor'
    class      = multimedia
hdac1@pci0:5:0:6:	class=0x040300 card=0x8522103c chip=0x15e31022 rev=0x00 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'Family 17h (Models 10h-1fh) HD Audio Controller'
    class      = multimedia
    subclass   = HDA
```


----------



## T-Daemon (Dec 14, 2020)

I found here a Linux dmesg for the HP t740 Thin Client, showing for mmc:


```
[Mon Apr 20 13:40:43 2020] mmc0: emmc 1.8v flag is set, force 1.8v signaling voltage
[Mon Apr 20 13:40:43 2020] mmc0: SDHCI controller on PCI [0000:03:00.0] using *ADMA*
```

ADMA seems to be a quirk for the `sdhci_acpi_chip_amd`, set in the "Host Controller Interface ACPI driver", sdhci-acpi.c:








						linux/sdhci-acpi.c at 2c85ebc57b3e1817b6ce1a6b703928e113a90442 · torvalds/linux
					

Linux kernel source tree. Contribute to torvalds/linux development by creating an account on GitHub.




					github.com
				




This is FreeBSD head (CURRENT) sdhci_acpi.c, it doesn't have a ADMA quirk set anywhere (it's only mentioned in a comment, right at the beginning of the file, indicating currently no support for "ADMA variants". 12.2 doesn't mention it at all.).

Check your Linux dmesg(8) if ADMA shows up there. If it is showing up or not, you should open a bug report, having a FreeBSD developer a look on the issue. I'm not sure if this is the cause of the mmc(4)/sdhci(4) failure, but ADMA is the only clue at hand I can see.

When filing the bug report present the information you have, be exact as possible (eg. storage specification: M.2 eMMC flash module).


----------

