SD/MMC CardReader

Lance

Well-Known Member
Ich würde gerne GhostBSD auf einem bestimmten leistungsfähigen Laptop laufen lassen aber es gibt keinen Treiber für den Card Reader. Der ist mir aber wichtig.
Wie hoch ist die Chance, einen Linux Treiber bzw. dessen Quellcode zu nehmen und für FreeBSD zu kompilieren?
Muss man dafür Programmierer sein bzw. entsprechende Kenntnisse haben? Ist so ein Treiber aufwändig?

edit: ach was das ist sicher zu aufwändig. Aber kann man evtl.einen aus 13 current nehmen/rückportieren?
 
Wenn sich ein card reader nicht wie ein USB-stick ansprechen lässt, dann ist er mMn. für die Tonne.
 
ich habe noch nie einen Treiber für einen meiner Card-Reader installieren müssen.
Ich sage mal so. Die sehen aus, wie mein USB-HUB. Ich stecke die am USB an und jede Karte wird als eigenes USB-Gerät erkannt und durchgereicht.

Es gibt aber Karten mit einem neueren Standard (ich vergesse das immer, irgendein H oder C oder so was mehr im Namen), die unter Umständen mit meinen alten Readern nicht funktionieren.
Und ich habe einen alten Reader, die noch USB2 sind und Micro-SD Karten können, aber nur solche, bis 8GB. Wahrscheinlich gab es damals keine anderen und wieso 8GB und nicht 4GB, was ja irgendwie sinnvoll wäre, will ich auch gar nicht verstehen.

Aber Treiber würden das ja auch nicht ändern.

Nebenbei: Reader ist irgendwie der Name, aber die Dinger können auch zum Schreiben benutzt werden.
 
ich habe noch nie einen Treiber für einen meiner Card-Reader installieren müssen.
Ich sage mal so. Die sehen aus, wie mein USB-HUB. Ich stecke die am USB an ...
Ja, aber es gibt auch Card-Reader die sind im Gerät (Laptop) integriert und um so einen wird hier evtl. die Rede sein.
Ich habe auch einen Asus-Laptop mit integriertem Card-Reader, der mit Windows und mit Linux benutzt werden kann, aber nicht mit FreeBSD.
 
Ich habe auch einen Asus-Laptop mit integriertem Card-Reader, der mit Windows und mit Linux benutzt werden kann, aber nicht mit FreeBSD.
ahja, sowas gibt es auch.
Meine Lenovos haben auch solche Dinger und die kann ich benutzen, also unter FreeBSD und ohne zusätzlichen Treiber.

Ich vermute deshalb mal, dass diese Treiber genau dann notwendig sind, wenn es sich um "unzulängliche HW" handelt und vergleiche das mal mit all den GDI-Druckern und Scannern, die HW sparen und durch Treiber ersetzen und die sind dann proprietär und nur für Windows zu haben sind und manchmal haben sich Leute mit viel Müh und Not Lösungen für Linux ausgedacht, die mich ehrlich gesagt eher abtörnen.
 
Meine Lenovos haben auch solche Dinger und die kann ich benutzen, also unter FreeBSD und ohne zusätzlichen Treiber.

... dann proprietär und nur für Windows zu haben sind und manchmal haben sich Leute mit viel Müh und Not Lösungen für Linux ausgedacht, die mich ehrlich gesagt eher abtörnen.
Naja, vielleicht ist das ja ein in-kernel-driver, der für deinen Lenovo-Card-Reader zuständig ist.
Und vielleicht wird es bei FreeBSD in naher Zukunft, auch so eine "Müh-und-Not-Lösung" (wie bei Linux) für den integrierten Card-Reader bei meinem Asus-Laptop geben. Er hat ja genug USB-Anschlüsse, so dass man externe Card-Reader verwenden kann. ;-)
 
Was ist Output von entweder pciconf -lv ...
Code:
:~ # pciconf -lv
hostb0@pci0:0:0:0:    class=0x060000 card=0x191d1043 chip=0x22808086 rev=0x35 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SoC Transaction Register'
    class      = bridge
    subclass   = HOST-PCI
vgapci0@pci0:0:2:0:    class=0x030000 card=0x191d1043 chip=0x22b18086 rev=0x35 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller'
    class      = display
    subclass   = VGA
none0@pci0:0:11:0:    class=0x118000 card=0x191d1043 chip=0x22dc8086 rev=0x35 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Power Management Controller'
    class      = dasp
ahci0@pci0:0:19:0:    class=0x010601 card=0x191d1043 chip=0x22a38086 rev=0x35 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SATA Controller'
    class      = mass storage
    subclass   = SATA
xhci0@pci0:0:20:0:    class=0x0c0330 card=0x201f1043 chip=0x22b58086 rev=0x35 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series USB xHCI Controller'
    class      = serial bus
    subclass   = USB
none1@pci0:0:26:0:    class=0x108000 card=0x191d1043 chip=0x22988086 rev=0x35 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Trusted Execution Engine'
    class      = encrypt/decrypt
hdac0@pci0:0:27:0:    class=0x040300 card=0x191d1043 chip=0x22848086 rev=0x35 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series High Definition Audio Controller'
    class      = multimedia
    subclass   = HDA
pcib1@pci0:0:28:0:    class=0x060400 card=0x191d1043 chip=0x22c88086 rev=0x35 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = 'Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port'
    class      = bridge
    subclass   = PCI-PCI
pcib2@pci0:0:28:2:    class=0x060400 card=0x191d1043 chip=0x22cc8086 rev=0x35 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = 'Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port'
    class      = bridge
    subclass   = PCI-PCI
pcib3@pci0:0:28:3:    class=0x060400 card=0x191d1043 chip=0x22ce8086 rev=0x35 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = 'Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port'
    class      = bridge
    subclass   = PCI-PCI
isab0@pci0:0:31:0:    class=0x060100 card=0x191d1043 chip=0x229c8086 rev=0x35 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCU'
    class      = bridge
    subclass   = PCI-ISA
none2@pci0:0:31:3:    class=0x0c0500 card=0x191d1043 chip=0x22928086 rev=0x35 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx SMBus Controller'
    class      = serial bus
    subclass   = SMBus
none3@pci0:2:0:0:    class=0xff0000 card=0x202f1043 chip=0x528710ec rev=0x01 hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    device     = 'RTL8411B PCI Express Card Reader'
re0@pci0:2:0:1:    class=0x020000 card=0x200f1043 chip=0x816810ec rev=0x12 hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    device     = 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller'
    class      = network
    subclass   = ethernet
ath0@pci0:3:0:0:    class=0x028000 card=0x21301a3b chip=0x0036168c rev=0x01 hdr=0x00
    vendor     = 'Qualcomm Atheros'
    device     = 'QCA9565 / AR9565 Wireless Network Adapter'
    class      = network
 
Der taucht da ja nichtmal auf.

usbconfig sollte zielführender sein.

Bei meinem externen noname-Produkt habe ich das:

Code:
ugen1.3: <Generic Mass Storage Device> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)

sowie
...
ugen1.3: <Generic Mass Storage Device> at usbus1
umass0 on uhub3
umass0: <Generic Mass Storage Device, class 0/0, rev 2.00/1.00, addr 3> on usbus1
umass0: SCSI over Bulk-Only; quirks = 0x4001
umass0:3:0: Attached to scbus3
da0 at umass-sim0 bus 0 scbus3 target 0 lun 0
da0: <Multi Flash Reader 1.00> Removable Direct Access SCSI device
da0: Serial Number 058F0O1111B1
da0: 1.000MB/s transfers
da0: Attempt to query device size failed: NOT READY, Medium not present
da0: quirks=0x2<NO_6_BYTE>

@Lance @morromett

Evtl. lässt sich der Reader im BIOS vom Betriebsmodus her umstellen, gesehen habe ich das schon.
 
Ist so ein Treiber aufwändig?
Nicht wirklich, da schon Codebase [1] existiert: d. h. wenn Controller vom Card-reader namentlich bekannt (Vendor ID, etc. pp.) ist, dann waere es moeglich, anhand existierender Codebase [2], den Bestehenden Treiber zu erweitern [3] bzw. ist es nicht wirklich erforderlich den Treiber vom Linux Kernel zu portieren, sondern nur die relevanten Informationen [4] (Ports, Register etc.), wenn moeglich in conjunction mit einem existierendem Datenblatt, auf bestehende Codebase abzubilden bzw. Customizing einer Klasse, da Geraetetreiber in FreeBSD nach dem OO Paradigma [5] implementiert [6] werden.




[1]: http://bxr.su/FreeBSD/sys/dev/mmc/
[2]: https://elixir.bootlin.com/linux/v4.3/source/drivers/mmc
[3]: http://bxr.su/FreeBSD/sys/dev/mmc/host/
[4]: https://elixir.bootlin.com/linux/v4.3/source/drivers/mmc/host (siehe bspw. Header-files)
[5]: https://www.freebsd.org/doc/en_US.ISO8859-1/books/arch-handbook/kernel-objects.html
[6]: http://bxr.su/FreeBSD/sys/dev/mmc/mmcbr_if.m (Schnittstellenspec. ueber Funktionssignaturen von Methoden)
 
Zuletzt bearbeitet:
Bei mir leider nicht
Code:
ghostbsd@livecd ~> pciconf -lv
hostb0@pci0:0:0:0:    class=0x060000 card=0x836b103c chip=0x59108086 rev=0x05 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers'
    class      = bridge
    subclass   = HOST-PCI
pcib1@pci0:0:1:0:    class=0x060400 card=0x836b103c chip=0x19018086 rev=0x05 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '6th-9th Gen Core Processor PCIe Controller (x16)'
    class      = bridge
    subclass   = PCI-PCI
vgapci1@pci0:0:2:0:    class=0x030000 card=0x836b103c chip=0x591b8086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'HD Graphics 630'
    class      = display
    subclass   = VGA
none0@pci0:0:4:0:    class=0x118000 card=0x836b103c chip=0x19038086 rev=0x05 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem'
    class      = dasp
xhci0@pci0:0:20:0:    class=0x0c0330 card=0x836b103c chip=0xa12f8086 rev=0x31 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller'
    class      = serial bus
    subclass   = USB
none1@pci0:0:20:2:    class=0x118000 card=0x836b103c chip=0xa1318086 rev=0x31 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '100 Series/C230 Series Chipset Family Thermal Subsystem'
    class      = dasp
none2@pci0:0:22:0:    class=0x078000 card=0x836b103c chip=0xa13a8086 rev=0x31 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '100 Series/C230 Series Chipset Family MEI Controller'
    class      = simple comms
ahci0@pci0:0:23:0:    class=0x010601 card=0x836b103c chip=0xa1038086 rev=0x31 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'HM170/QM170 Chipset SATA Controller [AHCI Mode]'
    class      = mass storage
    subclass   = SATA
pcib2@pci0:0:28:0:    class=0x060400 card=0x836b103c chip=0xa1108086 rev=0xf1 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '100 Series/C230 Series Chipset Family PCI Express Root Port'
    class      = bridge
    subclass   = PCI-PCI
pcib3@pci0:0:28:4:    class=0x060400 card=0x836b103c chip=0xa1148086 rev=0xf1 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '100 Series/C230 Series Chipset Family PCI Express Root Port'
    class      = bridge
    subclass   = PCI-PCI
pcib4@pci0:0:28:5:    class=0x060400 card=0x836b103c chip=0xa1158086 rev=0xf1 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '100 Series/C230 Series Chipset Family PCI Express Root Port'
    class      = bridge
    subclass   = PCI-PCI
pcib5@pci0:0:28:6:    class=0x060400 card=0x836b103c chip=0xa1168086 rev=0xf1 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '100 Series/C230 Series Chipset Family PCI Express Root Port'
    class      = bridge
    subclass   = PCI-PCI
pcib6@pci0:0:29:0:    class=0x060400 card=0x836b103c chip=0xa1188086 rev=0xf1 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '100 Series/C230 Series Chipset Family PCI Express Root Port'
    class      = bridge
    subclass   = PCI-PCI
isab0@pci0:0:31:0:    class=0x060100 card=0x836b103c chip=0xa1528086 rev=0x31 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'HM175 Chipset LPC/eSPI Controller'
    class      = bridge
    subclass   = PCI-ISA
none3@pci0:0:31:2:    class=0x058000 card=0x836b103c chip=0xa1218086 rev=0x31 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '100 Series/C230 Series Chipset Family Power Management Controller'
    class      = memory
hdac0@pci0:0:31:3:    class=0x040300 card=0x836b103c chip=0xa1718086 rev=0x31 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'CM238 HD Audio Controller'
    class      = multimedia
    subclass   = HDA
none4@pci0:0:31:4:    class=0x0c0500 card=0x836b103c chip=0xa1238086 rev=0x31 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '100 Series/C230 Series Chipset Family SMBus'
    class      = serial bus
    subclass   = SMBus
vgapci0@pci0:1:0:0:    class=0x030000 card=0x836b103c chip=0x1c8d10de rev=0xa1 hdr=0x00
    vendor     = 'NVIDIA Corporation'
    device     = 'GP107M [GeForce GTX 1050 Mobile]'
    class      = display
    subclass   = VGA
none5@pci0:3:0:0:    class=0xff0000 card=0x836b103c chip=0x522a10ec rev=0x01 hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    device     = 'RTS522A PCI Express Card Reader'
iwm0@pci0:4:0:0:    class=0x028000 card=0x50108086 chip=0x095a8086 rev=0x59 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Wireless 7265'
    class      = network
re0@pci0:5:0:0:    class=0x020000 card=0x836b103c chip=0x816810ec rev=0x15 hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    device     = 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller'
    class      = network
    subclass   = ethernet
nvme0@pci0:6:0:0:    class=0x010802 card=0x00011179 chip=0x01151179 rev=0x01 hdr=0x00
    vendor     = 'Toshiba Corporation'
    device     = 'XG4 NVMe SSD Controller'
    class      = mass storage
    subclass   = NVM
Code:
ghostbsd@livecd ~> devinfo -v
nexus0
  cryptosoft0
  efirtc0
  apic0
  ram0
  aesni0
  acpi0
    cpu0 pnpinfo _HID=none _UID=0 at handle=\_PR_.CPU0
      acpi_throttle0
      est0
      p4tcc0
      acpi_perf0
      cpufreq0
    cpu1 pnpinfo _HID=none _UID=0 at handle=\_PR_.CPU1
      acpi_throttle1
      est1
      p4tcc1
      acpi_perf1
      cpufreq1
    cpu2 pnpinfo _HID=none _UID=0 at handle=\_PR_.CPU2
      acpi_throttle2
      est2
      p4tcc2
      acpi_perf2
      cpufreq2
    cpu3 pnpinfo _HID=none _UID=0 at handle=\_PR_.CPU3
      acpi_throttle3
      est3
      p4tcc3
      acpi_perf3
      cpufreq3
    unknown pnpinfo _HID=none _UID=0 at handle=\_PR_.CPU4
    unknown pnpinfo _HID=none _UID=0 at handle=\_PR_.CPU5
    unknown pnpinfo _HID=none _UID=0 at handle=\_PR_.CPU6
    unknown pnpinfo _HID=none _UID=0 at handle=\_PR_.CPU7
    pcib0 pnpinfo _HID=PNP0A08 _UID=0 at handle=\_SB_.PCI0
      pci0
        hostb0 pnpinfo vendor=0x8086 device=0x5910 subvendor=0x103c subdevice=0x836b class=0x060000 at slot=0 function=0 dbsf=pci0:0:0:0
        pcib1 pnpinfo vendor=0x8086 device=0x1901 subvendor=0x103c subdevice=0x836b class=0x060400 at slot=1 function=0 dbsf=pci0:0:1:0 handle=\_SB_.PCI0.PEG0
          pci1
            vgapci0 pnpinfo vendor=0x10de device=0x1c8d subvendor=0x103c subdevice=0x836b class=0x030000 at slot=0 function=0 dbsf=pci0:1:0:0 handle=\_SB_.PCI0.PEG0.PEGP
              drm0
                drm5
                  backlight0
                  drm_dp_aux_dev0
                  i2c0
                drm6
                drm7
                  drm_dp_aux_dev1
                  i2c1
              drmn0
        vgapci1 pnpinfo vendor=0x8086 device=0x591b subvendor=0x103c subdevice=0x836b class=0x030000 at slot=2 function=0 dbsf=pci0:0:2:0 handle=\_SB_.PCI0.GFX0
          drm1
          drmn1
            drm128
            drm2
            drm3
            drm4
            graphics0
            fbd1
        unknown pnpinfo vendor=0x8086 device=0x1903 subvendor=0x103c subdevice=0x836b class=0x118000 at slot=4 function=0 dbsf=pci0:0:4:0 handle=\_SB_.PCI0.B0D4
        xhci0 pnpinfo vendor=0x8086 device=0xa12f subvendor=0x103c subdevice=0x836b class=0x0c0330 at slot=20 function=0 dbsf=pci0:0:20:0 handle=\_SB_.PCI0.XHC_
          usbus0
            uhub0
              ukbd0 pnpinfo vendor=0x04f2 product=0x0976 devclass=0x00 devsubclass=0x00 devproto=0x00 sernum="" release=0x0131 mode=host intclass=0x03 intsubclass=0x01 intprotocol=0x01 at bus=0 hubaddr=1 port=1 devaddr=2 interface=0 ugen=ugen0.2
              uhid0 pnpinfo vendor=0x04f2 product=0x0976 devclass=0x00 devsubclass=0x00 devproto=0x00 sernum="" release=0x0131 mode=host intclass=0x03 intsubclass=0x00 intprotocol=0x00 at bus=0 hubaddr=1 port=1 devaddr=2 interface=1 ugen=ugen0.2
              umass0 pnpinfo vendor=0x058f product=0x6387 devclass=0x00 devsubclass=0x00 devproto=0x00 sernum="AC899D625373" release=0x0100 mode=host intclass=0x08 intsubclass=0x06 intprotocol=0x50 at bus=0 hubaddr=1 port=2 devaddr=3 interface=0 ugen=ugen0.3
              ums0 pnpinfo vendor=0x04f2 product=0x0976 devclass=0x00 devsubclass=0x00 devproto=0x00 sernum="" release=0x0131 mode=host intclass=0x03 intsubclass=0x01 intprotocol=0x02 at bus=0 hubaddr=1 port=1 devaddr=2 interface=2 ugen=ugen0.2
        unknown pnpinfo vendor=0x8086 device=0xa131 subvendor=0x103c subdevice=0x836b class=0x118000 at slot=20 function=2 dbsf=pci0:0:20:2
        unknown pnpinfo vendor=0x8086 device=0xa13a subvendor=0x103c subdevice=0x836b class=0x078000 at slot=22 function=0 dbsf=pci0:0:22:0 handle=\_SB_.PCI0.HECI
        ahci0 pnpinfo vendor=0x8086 device=0xa103 subvendor=0x103c subdevice=0x836b class=0x010601 at slot=23 function=0 dbsf=pci0:0:23:0 handle=\_SB_.PCI0.SAT0
          ahcich0 at channel=0 (disabled)
          ahcich1 at channel=1
          ahcich2 at channel=2 (disabled)
          ahciem0
        pcib2 pnpinfo vendor=0x8086 device=0xa110 subvendor=0x103c subdevice=0x836b class=0x060400 at slot=28 function=0 dbsf=pci0:0:28:0 handle=\_SB_.PCI0.RP01
        pcib3 pnpinfo vendor=0x8086 device=0xa114 subvendor=0x103c subdevice=0x836b class=0x060400 at slot=28 function=4 dbsf=pci0:0:28:4 handle=\_SB_.PCI0.RP05
          pci2
            unknown pnpinfo vendor=0x10ec device=0x522a subvendor=0x103c subdevice=0x836b class=0xff0000 at slot=0 function=0 dbsf=pci0:3:0:0 handle=\_SB_.PCI0.RP05.PXSX
        pcib4 pnpinfo vendor=0x8086 device=0xa115 subvendor=0x103c subdevice=0x836b class=0x060400 at slot=28 function=5 dbsf=pci0:0:28:5 handle=\_SB_.PCI0.RP06
          pci3
            iwm0 pnpinfo vendor=0x8086 device=0x095a subvendor=0x8086 subdevice=0x5010 class=0x028000 at slot=0 function=0 dbsf=pci0:4:0:0 handle=\_SB_.PCI0.RP06.PXSX
        pcib5 pnpinfo vendor=0x8086 device=0xa116 subvendor=0x103c subdevice=0x836b class=0x060400 at slot=28 function=6 dbsf=pci0:0:28:6 handle=\_SB_.PCI0.RP07
          pci4
            re0 pnpinfo vendor=0x10ec device=0x8168 subvendor=0x103c subdevice=0x836b class=0x020000 at slot=0 function=0 dbsf=pci0:5:0:0 handle=\_SB_.PCI0.RP07.PXSX
              miibus0
                rgephy0 pnpinfo oui=0xe04c model=0x0 rev=0x0 at phyno=1
        pcib6 pnpinfo vendor=0x8086 device=0xa118 subvendor=0x103c subdevice=0x836b class=0x060400 at slot=29 function=0 dbsf=pci0:0:29:0 handle=\_SB_.PCI0.RP09
          pci5
            nvme0 pnpinfo vendor=0x1179 device=0x0115 subvendor=0x1179 subdevice=0x0001 class=0x010802 at slot=0 function=0 dbsf=pci0:6:0:0 handle=\_SB_.PCI0.RP09.PXSX
        isab0 pnpinfo vendor=0x8086 device=0xa152 subvendor=0x103c subdevice=0x836b class=0x060100 at slot=31 function=0 dbsf=pci0:0:31:0 handle=\_SB_.PCI0.LPCB
          isa0
            sc0
            vga0
            fdc0
            ppc0
            uart0
            uart1
        unknown pnpinfo vendor=0x8086 device=0xa121 subvendor=0x103c subdevice=0x836b class=0x058000 at slot=31 function=2 dbsf=pci0:0:31:2 handle=\_SB_.PCI0.PPMC
        hdac0 pnpinfo vendor=0x8086 device=0xa171 subvendor=0x103c subdevice=0x836b class=0x040300 at slot=31 function=3 dbsf=pci0:0:31:3 handle=\_SB_.PCI0.HDAS
          hdacc0 pnpinfo vendor=0x10ec device=0x0295 revision=0x00 stepping=0x02 at cad=0
            hdaa0 pnpinfo type=0x01 subsystem=0x103c836b at nid=1
              pcm0 at nid=20,25
              pcm1 at nid=33,18
          hdacc1 pnpinfo vendor=0x8086 device=0x280b revision=0x00 stepping=0x00 at cad=2
            hdaa1 pnpinfo type=0x01 subsystem=0x80860101 at nid=1
              pcm2 at nid=3
        unknown pnpinfo vendor=0x8086 device=0xa123 subvendor=0x103c subdevice=0x836b class=0x0c0500 at slot=31 function=4 dbsf=pci0:0:31:4 handle=\_SB_.PCI0.SBUS
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.PEG0.PG00
    unknown pnpinfo _HID=HPQ6007 _UID=0 at handle=\_SB_.PCI0.ACEL
    unknown pnpinfo _HID=HPQ6001 _UID=0 at handle=\_SB_.PCI0.WLBT
    unknown pnpinfo _HID=PNP0C02 _UID=0 at handle=\_SB_.PCI0.PRRE (disabled)
    acpi_sysresource0 pnpinfo _HID=PNP0C02 _UID=0 at handle=\_SB_.PCI0.IOTR
    acpi_ec0 pnpinfo _HID=PNP0C09 _UID=1 at handle=\_SB_.PCI0.LPCB.EC0_
    unknown pnpinfo _HID=INT3403 _UID=0 at handle=\_SB_.PCI0.LPCB.EC0_.SEN1 (disabled)
    unknown pnpinfo _HID=INT3403 _UID=0 at handle=\_SB_.PCI0.LPCB.EC0_.SEN2 (disabled)
    unknown pnpinfo _HID=INT0800 _UID=0 at handle=\_SB_.PCI0.LPCB.FWHD
    hpet0 pnpinfo _HID=PNP0103 _UID=0 at handle=\_SB_.PCI0.LPCB.HPET
    unknown pnpinfo _HID=PNP0000 _UID=0 at handle=\_SB_.PCI0.LPCB.IPIC
    fpupnp0 pnpinfo _HID=PNP0C04 _UID=0 at handle=\_SB_.PCI0.LPCB.MATH
    acpi_sysresource1 pnpinfo _HID=PNP0C02 _UID=2 at handle=\_SB_.PCI0.LPCB.LDRC
    acpi_sysresource2 pnpinfo _HID=PNP0C02 _UID=0 at handle=\_SB_.PCI0.LPCB.LDR2
    atrtc0 pnpinfo _HID=PNP0B00 _UID=0 at handle=\_SB_.PCI0.LPCB.RTC_
    attimer0 pnpinfo _HID=PNP0100 _UID=0 at handle=\_SB_.PCI0.LPCB.TIMR
    atkbdc0 pnpinfo _HID=HPQ8001 _UID=0 at handle=\_SB_.PCI0.LPCB.PS2K
      atkbd0
      psm0
    psmcpnp0 pnpinfo _HID=ETD0731 _UID=0 at handle=\_SB_.PCI0.LPCB.PS2M
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP02.PXSX.WRST
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP03.PXSX.WRST
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP04.PXSX.WRST
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP05.PXSX.WRST
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP06.PXSX.WRST
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP07.PXSX.WRST
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP08.PXSX.WRST
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP09.PXSX.WRST
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP10.PXSX.WRST
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP11.PXSX.WRST
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP12.PXSX.WRST
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP13.PXSX.WRST
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP14.PXSX.WRST
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP15.PXSX.WRST
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP16.PXSX.WRST
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP17.PXSX.WRST
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP18.PXSX.WRST
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP19.PXSX.WRST
    unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.RP20.PXSX.WRST
    unknown pnpinfo _HID=PNP0C02 _UID=5 at handle=\_SB_.PCI0.SIRC (disabled)
    unknown pnpinfo _HID=INT345D _UID=0 at handle=\_SB_.PCI0.GPI0 (disabled)
    unknown pnpinfo _HID=INT3442 _UID=0 at handle=\_SB_.PCI0.I2C0 (disabled)
    unknown pnpinfo _HID=SYNA7817 _UID=1 at handle=\_SB_.PCI0.I2C0.TPL0 (disabled)
    unknown pnpinfo _HID=INT3443 _UID=0 at handle=\_SB_.PCI0.I2C1 (disabled)
    unknown pnpinfo _HID=INT3444 _UID=0 at handle=\_SB_.PCI0.I2C2 (disabled)
    unknown pnpinfo _HID=INT3445 _UID=0 at handle=\_SB_.PCI0.I2C3 (disabled)
    unknown pnpinfo _HID=INT3446 _UID=0 at handle=\_SB_.PCI0.I2C4 (disabled)
    unknown pnpinfo _HID=INT3447 _UID=0 at handle=\_SB_.PCI0.I2C5 (disabled)
    unknown pnpinfo _HID=INT3440 _UID=0 at handle=\_SB_.PCI0.SPI0 (disabled)
    unknown pnpinfo _HID=INT3441 _UID=0 at handle=\_SB_.PCI0.SPI1 (disabled)
    unknown pnpinfo _HID=INT3448 _UID=0 at handle=\_SB_.PCI0.UA00 (disabled)
    unknown pnpinfo _HID=INT3449 _UID=0 at handle=\_SB_.PCI0.UA01 (disabled)
    unknown pnpinfo _HID=INT344A _UID=0 at handle=\_SB_.PCI0.UA02 (disabled)
    acpi_sysresource3 pnpinfo _HID=PNP0C02 _UID=1 at handle=\_SB_.PCI0.PDRC
    unknown pnpinfo _HID=PNP0C14 _UID=0 at handle=\_SB_.PCI0.WMI1
    battery0 pnpinfo _HID=PNP0C0A _UID=1 at handle=\_SB_.BAT0
    pci_link0 pnpinfo _HID=PNP0C0F _UID=1 at handle=\_SB_.LNKA
    pci_link1 pnpinfo _HID=PNP0C0F _UID=2 at handle=\_SB_.LNKB
    pci_link2 pnpinfo _HID=PNP0C0F _UID=3 at handle=\_SB_.LNKC
    pci_link3 pnpinfo _HID=PNP0C0F _UID=4 at handle=\_SB_.LNKD
    pci_link4 pnpinfo _HID=PNP0C0F _UID=5 at handle=\_SB_.LNKE
    pci_link5 pnpinfo _HID=PNP0C0F _UID=6 at handle=\_SB_.LNKF
    pci_link6 pnpinfo _HID=PNP0C0F _UID=7 at handle=\_SB_.LNKG
    pci_link7 pnpinfo _HID=PNP0C0F _UID=8 at handle=\_SB_.LNKH
    acpi_acad0 pnpinfo _HID=ACPI0003 _UID=0 at handle=\_SB_.ADP1
    acpi_lid0 pnpinfo _HID=PNP0C0D _UID=0 at handle=\_SB_.LID0
    acpi_button0 pnpinfo _HID=PNP0C0C _UID=0 at handle=\_SB_.PWRB
    unknown pnpinfo _HID=INT0E0C _UID=0 at handle=\_SB_.EPC_ (disabled)
    unknown pnpinfo _HID=INT3420 _UID=0 at handle=\_SB_.BTKL (disabled)
    unknown pnpinfo _HID=ACPI000C _UID=0 at handle=\_SB_.PAGD (disabled)
    unknown pnpinfo _HID=INT33A1 _UID=1 at handle=\_SB_.PEPD
    unknown pnpinfo _HID=PNP0C14 _UID=0 at handle=\_SB_.WMID
    unknown pnpinfo _HID=INT3470 _UID=0 at handle=\_SB_.SKC0 (disabled)
    unknown pnpinfo _HID=INT3400 _UID=0 at handle=\_SB_.IETM
    acpi_sysresource4 pnpinfo _HID=INT340E _UID=0 at handle=\_SB_.PTID
    unknown pnpinfo _HID=USBC000 _UID=0 at handle=\_SB_.UBTC (disabled)
    acpi_tz0 pnpinfo _HID=none _UID=0 at handle=\_TZ_.TZ01
    unknown pnpinfo _HID=INT3420 _UID=0 at handle=\PSM_ (disabled)
    unknown pnpinfo _HID=INT33D0 _UID=0 at handle=\SHAD (disabled)
    unknown pnpinfo _HID=INT3399 _UID=0 at handle=\EIAD (disabled)
    acpi_timer0 pnpinfo unknown
 
Was meinst du mit leider nicht?
Gelistet ist er und korrekterweise ohne Treiber:

Code:
none5@pci0:3:0:0:    class=0xff0000 card=0x836b103c chip=0x522a10ec rev=0x01 hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    device     = 'RTS522A PCI Express Card Reader'
 
Probier mal
'kldload sdhci'
'kldload mmcsd' (wenn ich mich recht erinnere, sollte der noch mmc laden, ansonsten noch 'kldload mmc')
um das Kernelmodul (Treiber) zu laden.
Die Ausgabe davon sollte Licht ins Dunkel bringen. Beim einstecken einer SD Karte sollte sich dann der Treiber melden und das Device mmcsd0 anlegen (So war es jedenfalls bei FreeBSD 10)

Allerdings finde ich in FreeBSD12 in 'sdhci_pci.c' keinen Eintrag für Realtek oder rts oder 522 (schaut also m.E. schlecht aus)
 
none5@pci0:3:0:0: class=0xff0000 card=0x836b103c chip=0x522a10ec rev=0x01 hdr=0x00 vendor = 'Realtek Semiconductor Co., Ltd.' device = 'RTS522A PCI Express Card Reader'
Das ist der Treiber [1] sowie die Register fuer PCI-E [2] und/oder PCI [3], d. h. relevant sind (meiner Meinung nach) die Adressen der Register sowie Ports.

Edit:

Allerdings finde ich in FreeBSD12 in 'sdhci_pci.c' keinen Eintrag für Realtek oder rts oder 522 (schaut also m.E. schlecht aus)
Als Gedankenexperiment sollten Parameter aus [2,3] in bestehende Code-base [4] integriert werden.

[1]: https://elixir.bootlin.com/linux/v4.3/source/drivers/mmc/host/rtsx_pci_sdmmc.c
[2]: https://elixir.bootlin.com/linux/v4.3/source/include/linux/mfd/rtsx_pci.h
[3]: https://elixir.bootlin.com/linux/v4.3/source/include/linux/mfd/rtsx_common.h
[4]: http://bxr.su/FreeBSD/sys/dev/sdhci
 
Zuletzt bearbeitet:
Ich würde sagen, offizieller (FreeBSD) Support dafür ist in Arbeit:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=204521

Bis dahin könntest du es damit versuchen:
https://github.com/hlh-restart/rtsx
Das klingt doch vielversprechend. Bin mal gespannt ob ich die NVIDIA Karte auch zum Laufen bekomme, erkannt wird sie ja.
none4@pci0:0:31:4: class=0x0c0500 card=0x836b103c chip=0xa1238086 rev=0x31 hdr=0x00 vendor = 'Intel Corporation' device = '100 Series/C230 Series Chipset Family SMBus' class = serial bus subclass = SMBus
Was ist damit? Der ist doch auch wichtig.
 
Bei mir leider nicht einstellbar vom Betriebsmodus



Meinst du, der Treiber muss nur geladen werden? Falls ja, musste ihn nie manuell laden.
Und warum „korrekterweise“ ohne Treiber?
Weil es dafür unter FreeBSD keinen Support gibt. Wenn da ein Name von einem Treiber gestanden hätte, hätte es auch einen /dev/blablabla Eintrag geben müssen und/oder einen entsprechenden Hinweis im Syslog.
 
Es gibt den Treiber als Port / Paket:

Code:
# pkg install -y rtsx-kmod && kldload rtsx && sysrc kld_list+=rtsx
Der hat auch den SD-Karten Leser meines Laptops zu unerwartetem Leben verholfen. Ich habe eine Weile suchen müssen um eine alte SD Karte zu finden, das Resultat scheint ein Licht darauf warum der Treiber nicht im src/ ist.

Ich stecke die Karte ein und das komplette System reagiert erst einmal für eine Minute oder so nicht auf Eingaben, während der Kernel das hier ausspuckt:
Code:
rtsx0: Interrupt card inserted/removed
rtsx0: Card present
mmc0: <MMC/SD bus> on rtsx0
rtsx0: Controller timeout for CMD8
rtsx0: Controller timeout for CMD8
rtsx0: Controller timeout for CMD8
rtsx0: Controller timeout for CMD8
rtsx0: Controller timeout for CMD8
rtsx0: Controller timeout for CMD8
rtsx0: Controller timeout for CMD8
rtsx0: Controller timeout for CMD8

Danach funktioniert die Karte dann. :huth:
Code:
mmc0: CMD8 failed, RESULT: 1
mmcsd0: 1GB <SD SD01G 8.0 SN 8009D50F MFG 04/2006 by 3 SD> at mmc0 25.0MHz/4bit/256-block
 
Der hat auch den SD-Karten Leser meines Laptops zu unerwartetem Leben verholfen. ...

Ich stecke die Karte ein und das komplette System reagiert erst einmal für eine Minute oder so nicht auf Eingaben, während der Kernel das hier ausspuckt:
Das ist jetzt auch bei meinem Laptop, genau so:
Code:
rtsx0: Interrupt card inserted/removed
rtsx0: Card present
mmc0: <MMC/SD bus> on rtsx0
rtsx0: Controller timeout for CMD8
rtsx0: Controller timeout for CMD8
rtsx0: Controller timeout for CMD8
rtsx0: Controller timeout for CMD8
rtsx0: Controller timeout for CMD8
rtsx0: Controller timeout for CMD8
rtsx0: Controller timeout for CMD8
rtsx0: Controller timeout for CMD8
Code:
mmc0: CMD8 failed, RESULT: 1
mmcsd0: 2GB <SD SD    1.0 SN CBC2A9C9 MFG 12/2006 by 27 SM> at mmc0 50.0MHz/4bit/256-block
 
Ich hab das jetzt anders gelöst. In ein älteres aber solides Notebook habe ich einen WLAN Chip von Intel eingebaut. Das BIOS meckert nicht und er wird von FreeBSD erkannt. Somit habe ich ein (weiteres) BSD taugliches Notebook.
 
Zurück
Oben