Ubuntu – Broadcom card-reader BCM57765/BCM57785 doesn’t work on ubuntu `12.04 LTS


I'm having a hard time with this one. I have an ACER ASPIRE ONE 756 and installed Ubuntu 12.04 LTS on it.

Everything works (with a little tweaking here and there), but unfortunately the build-in card-reader terrebly fails.

I know that the BCM57765/BCM57785 is a combined card-reader / wired-lan 1gbps module. The wired lan works fine, but the card-reader fails. It seems to be recognised, but I can't access any SD card. As it doesn't even recognise it in tools like MountManager, the problem seems deeper than just an auto-mount problem.

Can anyone help me out? I really need this to work, and there seem to be a lot of people having issues with linux and card-readers, but unfortunately I haven't found a solution yet.

LSPCI output:

04:00.1 SD Host controller: Broadcom Corporation BCM57765/57785 SDXC/MMC Card Reader (rev 10)


04:00.1 SD Host controller: Broadcom Corporation BCM57765/57785 SDXC/MMC Card Reader (rev 10) (prog-if 01)
    Subsystem: Acer Incorporated [ALI] Device 0742
    Flags: bus master, fast devsel, latency 0, IRQ 19
    Memory at c0400000 (64-bit, prefetchable) [size=64K]
    Capabilities: [48] Power Management version 3
    Capabilities: [58] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [ac] Express Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [150] Power Budgeting <?>
    Capabilities: [160] Virtual Channel
    Kernel driver in use: sdhci-pci
    Kernel modules: sdhci-pci

DMESG without sdcard inserted:

[    1.192432] sdhci: Secure Digital Host Controller Interface driver
[    1.192436] sdhci: Copyright(c) Pierre Ossman
[    1.192771] sdhci-pci 0000:04:00.1: SDHCI controller found [14e4:16bc] (rev 10)
[    1.192843] sdhci-pci 0000:04:00.1: Invalid iomem size. You may experience problems.
[    1.192955] mmc0: no vmmc regulator found
[    1.193030] Registered led device: mmc0::

Any suggestions?

Best regards,


Best Answer

  • The workaround from the bug report at https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1307674?comments=all works for me, but I needed to change the file name to include the extension .conf, e.g. sdhci.conf.

    The modified workaround:

    1. Add the following to /etc/modprobe.d/sdhci.conf:

        options sdhci debug_quirks2=4
    2. Re-generate initrd:

       sudo update-initramfs -u -k all
    3. Reboot or reload sdhci module:

       sudo rmmod sdhci-pci sdhci
       sudo modprobe sdhci
       sudo modprobe sdhci-pci
  • Related Question