root@buhtum:~# lspci -nn
# ... truncated
01:04.0 CardBus bridge [0607]: ENE Technology Inc CB-712/4 Cardbus Controller [1524:1412] (rev 10)
01:04.1 FLASH memory [0501]: ENE Technology Inc ENE PCI Memory Stick Card Reader Controller [1524:0530] (rev 01)
01:04.2 Generic system peripheral [0805]: ENE Technology Inc ENE PCI Secure Digital Card Reader Controller [1524:0550] (rev 01)
01:04.4 FLASH memory [0501]: ENE Technology Inc Unknown device [1524:0551] (rev 01)
It turns that the
sdchi
driver supports the ENE chip, all you need to do is to add the PCI device IDs to the supported list of devices. The bug is described in Ubuntu database but it may some time to be included in the mainstream releases. Then you need to recompile sdhci module. Sounds scary but it isn't. Just follow these step:- Get this patch and save it in your home directory.
- Prepare to build kernel:
$ sudo apt-get update
$ sudo apt-get install kernel-package libncurses5-dev fakeroot bzip2 linux-source
$ sudo tar -xjvf /usr/src/linux-source-2.6.20.tar.bz2
$ sudo cd linux-source-2.6.20 - Patch the kernel to support the reader:
$ sudo patch -p1 < ~/linux-source-2.6.20_ene_cb712.patch - Configure and build the kernel
<--- Exit, Save (As you propably don't want to change anything)
$ sudo make menuconfig
$ sudo make-kpkg clean $ sudo fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
The last command takes about an hour to finish so be patient :) - The new module is built in
/usr/src/linux-source-2.6.20/drivers/mmc/host/sdhci.ko
. Unload the original module and install this one to test it:$ sudo rmmod sdhci
$ sudo insmod /usr/src/linux-source-2.6.20/drivers/mmc/host/sdhci.ko - Plug a SD/MMC card in the reader - if everything is OK an window should pop up asking you to view the files in it:
- Replace the original driver with the new one:
$ sudo dpkg-divert --divert /lib/modules/2.6.20-16-lowlatency/kernel/drivers/mmc/host/sdhci.ko.ORIGINAL --rename /lib/modules/2.6.20-16-lowlatency/kernel/drivers/mmc/host/sdhci.ko
$ sudo cp /usr/src/linux-source-2.6.20/drivers/mmc/host/sdhci.ko /lib/modules/2.6.20-16-lowlatency/kernel/drivers/mmc/host/sdhci.ko - Reboot and try again - it should work fine.
Няма коментари:
Публикуване на коментар