wbsd :: projects.drzeus.cx
Todays bofh excuse: N/A
Winbond SD card interface driver

This is a project to add Linux support for Winbond's W83L518D and W83L519D SD/MMC card readers found in some laptops. The driver is included in Linux 2.6.10 and newer. This page contains support and updates not yet found in the kernel.

Mailing list

Post your questions, bug reports and success stories to wbsd-devel at list.drzeus.cx. To subscribe please use the web interface.

Archives can be found at http://list.drzeus.cx/pipermail/wbsd-devel/

How do I know if I have this chip?

There is no decent way to identify if you have this chip in your machine. The laptop manufacturers rarely specify in their documentation what hardware they use. Check the table below for known usages of the chip.

If your machine is not in the list you might still have the chip. There are a few ways to determine this:

  • If you have Windows installed (or have kept the drivers for your machine) you can check if you have a file called wbsd.sys, which is the Windows driver for this chip.
  • You can check your ACPI DSDT for the PNP id WEC0517 and WEC0518.
  • Try loading the driver. If you happen to have a known model of the chip the driver will print out what it finds in dmesg.

Since I get a lot of mail about other controllers I might as well put together a list of other controllers out there:

  • ene Technology, ENE CB710, PCI
    No known driver.
  • O2 Micro, OZ711Mx MultiMediaBay Accelerator, PCI
    No known driver.
  • Ricoh, R5C576A, PCI
    No known driver.
  • Texas Instruments, PCIxx20 Integrated FlashMedia controller, PCI
    No known driver.

This driver will of course not work with any of these. See table below for laptops which are known to contain these controllers.

Status

These are the machines the driver has been tested on. If you have a machine that's not in the list then please send your dmesg to the mailing list above.

Vendor Model Chip ID Status Comment
Acer Aspire 1501 Lmi 7112 OK 1,2
Asus A2500D 7112 OK 2
Asus A2H 7112 OK
Averatec 3270 7112 OK
Compal 56 7112 OK 1,2
Compal CQ12 7112 OK 1
Fujitsu-Siemens Amilo M-7400 7112 OK 1
HP/Compaq x1000/nx70x0 7112 OK
HP/Compaq zt3000 7112 OK
HP/Compaq zt1175 7112 OK 1
Zepto ZNote 4200 7112 OK 1,2
1. DMA not supported.
2. Doesn't work on default irq (only non-PnP).

These are laptops with other MMC/SD controllers:

Vendor Model Controller Bus Driver
Benq Joybook 7000 PCIxx20 PCI No
Dell Inspiron 6000 R5C576A PCI No
Fujitu-Siemens S6210 OZ711Mx PCI No
HP/Compaq nc6000 OZ711Mx PCI No
HP/Compaq nc8000 OZ711Mx PCI No
HP/Compaq nx5000 PCIxx20 PCI No
IBM x40 R5C576A PCI No
Install

Georg Schild has written a nice HOWTO to get you up and running.

Changelog

Pending

2.6.12-1

  • Delayed card detection a bit. Needed for some cards.

1.2 (2.6.12)

  • Plug 'n Play support. In most cases you need ACPI PNP for this to work.
  • Uses generic DMA API.
  • ISA dependency removed.
  • Fix to handle DAT3 card detection.
  • Fixed bug which could cause large writes to stall in FIFO mode.

1.1 (2.6.11)

  • Optimised transfers. Both DMA and FIFO.
  • Added module version info.
  • kunmap bug fixed.
  • FIFO bug fix for small reads.
  • Waits for data transfers to finish properly. Caused some stalls.
  • IRQ handling fix. Caused some stalls with short transfers.

1.0 (2.6.10)

  • Initial stable release.
  • Adapted to new MMC scatter/gather system.
Updates

These patches are cumulative. I.e. the top patch contains all previous releases. The older patches are only here for testing in case someone runs into a bug.

For older releases please go to this page.

Extra patches

These patches are not needed for the driver to work but fixes problems with some cards.

Empty OCR fix

Some cards do not like an empty OCR (even though the standard allows it). This patch cycles power to the cards. Should work with all cards, good as well as bad.

mmc-powercycle.patch (1.1 kB) (N/A downloads)

Bulk transfer

The MMC layer only writes a single sector at a time as it is now. This patch makes it write as large chunks as the host can support. The speed increase is over 100%. Some broken cards will screw up you data though. Do some tests on the cards you have.

mmc-bulk.patch (2.7 kB) (N/A downloads)

SD support

See this page for information about SD card support.

Contributions

Big thanks to Stefan Frings for providing me with an extra SD card to test with. Also, a thanks to the people who help out with testing new patches and sorting out the bugs.

If anyone feels the urge to contribute to this project, more than testing the driver and providing bug reports, then SD and MMC cards are always welcome. Preferably cards you have found problems with. Send a mail to the address at the bottom of the page for details.

In case someone feels really generous then the project could really need some SDIO cards. Support for those cards cannot begin until there is some hardware present for development.