Clandestine USB SD card slot

George Mitchell george+freebsd at m5p.com
Mon Oct 17 15:03:00 UTC 2016


On 10/16/16 17:40, George Mitchell wrote:
> On 10/16/16 14:16, Warner Losh wrote:
>> On Sun, Oct 16, 2016 at 12:08 PM, Warren Block <wblock at wonkity.com> wrote:
>>> On Sun, 16 Oct 2016, George Mitchell wrote:
>>>
>>>>> So not only is it (apparently) recognized, but the sdhci_pci driver
>>>>> attached to it!  But inserting or removing a card shows no activity.
>>>>> What's my next step?                                      -- George
>>>
>>>
>>> Is a device created for the empty reader?  It's worth trying to force a
>>> retaste of that device with 'true > /dev/daX' after the card is inserted.
>>
>> Don't look for da anything. Look for mmcsd something. The sdhci_pci
>> driver provides disks that are mmcsdX. Looks like card change
>> interrupts aren't happening, or there's something else making the
>> driver unhappy with the SDHCI controller though...
>>
>> Warner
>> [...]
> 
> No /dev/mm*; no log output on card insertion/removal even with
> sysctl hw.sdhci.debug=1.  Other sysctl info:
> 
> sysctl -a | grep sdhci
> device	sdhci
> hw.sdhci.enable_msi: 1
> hw.sdhci.debug: 1
> dev.sdhci_pci.0.%parent: pci0
> dev.sdhci_pci.0.%pnpinfo: vendor=0x1022 device=0x7813 subvendor=0x1025
> subdevice=0x0865 class=0x080501
> dev.sdhci_pci.0.%location: pci0:0:20:7
> dev.sdhci_pci.0.%driver: sdhci_pci
> dev.sdhci_pci.0.%desc: Generic SD HCI
> dev.sdhci_pci.%parent:
> 
> -- George
> 
After setting hw.sdhci.debug=1 and hw.mmc.debug=1 in /etc/sysctl.conf
and doing a verbose boot, then inserting and removing an SD card, all
I get in "dmesg | egrep mmc\|sdhci" is:

sdhci_pci0: <Generic SD HCI> mem 0xf0c6c000-0xf0c6c0ff irq 16 at device
20.7 on pci0
sdhci_pci0: 1 slot(s) allocated
sdhci_pci0: <Generic SD HCI> mem 0xf0c6c000-0xf0c6c0ff irq 16 at device
20.7 on pci0
sdhci_pci0-slot0: 50MHz 8bits 3.3V DMA
sdhci_pci0-slot0: ============== REGISTER DUMP ==============
sdhci_pci0-slot0: Sys addr: 0x00000000 | Version:  0x00001001
sdhci_pci0-slot0: Blk size: 0x00000000 | Blk cnt:  0x00000000
sdhci_pci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000000
sdhci_pci0-slot0: Present:  0x01f20000 | Host ctl: 0x00000000
sdhci_pci0-slot0: Power:    0x00000000 | Blk gap:  0x00000000
sdhci_pci0-slot0: Wake-up:  0x00000000 | Clock:    0x00000000
sdhci_pci0-slot0: Timeout:  0x00000000 | Int stat: 0x00000000
sdhci_pci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb
sdhci_pci0-slot0: AC12 err: 0x00000000 | Slot int: 0x000000ff
sdhci_pci0-slot0: Caps:     0x21de32b2 | Max curr: 0x00c80064
sdhci_pci0-slot0: ===========================================
sdhci_pci0: 1 slot(s) allocated

(Same for "egrep mmc\|sdhci /var/log/messages".)

"pciconf -lv" suggests this is a:
sdhci_pci0 at pci0:0:20:7: class=0x080501 card=0x08651025 chip=0x78131022
rev=0x01 hdr=0x00
    vendor     = 'Advanced Micro Devices, Inc. [AMD]'
    device     = 'FCH SD Flash Controller'
    class      = base peripheral
    subclass   = SD host controller

Are there some quirks I should define for this controller?  -- George


More information about the freebsd-stable mailing list