LINUX-BG Адрес : http://www.linux-bg.org |
Четци на карти на Texas Instruments |
От: Мариян Маринов Публикувана на: 18-06-2006 Адрес на статията: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=383550582 |
От повече от година съм собственик на лаптоп HP nx8220. Като цяло машината е много добра но за цялото време през което я имам не бях успял да накарам вграденият в него четец за карти да работи. След доста търсене в интернет преди 6 месеца намерих проект който се занимаваше с направата на модул за ядрото на Линукс който да работи с този четец. За съжаление този проект не е мръднал много за последните 6 месеца което ме накара да се поровя из интернет отново. По случайност попаднах на друг проект който работи над модул за работа със Secure Dicital Host Controlers (SDHC). С радост разбрах, че моят контролер може и да тръгне с този модул. Докато четох документацията видях, че модулът вече е влязъл в основното дърво на ядрото на Линукс и се очаква да излезе със ядро 2.6.17. Тестовете които аз направих са с ядро 2.6.17-rc6. Ето настройките на ядрото, които трябва да направите за да можете да използвате вашият четец: Device Drivers --> MMC/SD Card Support --> [M] MMC Support M MMC block device driver M Secure Digital Host Controller Interface support (EXPERIMENTAL)или директно в конфигурационният файл: CONFIG_MMC=m CONFIG_MMC_BLOCK=m CONFIG_MMC_SDHCI=m Първото нещо което прави впечатление след зареждането на модула sdhci е, че няма създадени блокови устройства с които да се работи. Налага се на ръка да бъде зареден модулът mmc_block който вече ви създава устройствата с които можете да работите. А второто нещо което прави адски неприятно впечатление е, че след вкарването на карта в четеца, машината въобще не отчита каквато и да била дейност. Първоначално реших, че тъй като модулът е все още експериментален просто не работи с моят четец, но след още малко търсене из пощенският списък на проекта открих, че проблема е единствено и само на контролерите произведени от Texas Instruments(TI). Когато дадете lspci изхода от командата включва нещо подобно на това: 02:06.0 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller 02:06.3 Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller 02:06.4 Class 0805: Texas Instruments PCI6411, PCI6421, PCI6611, PCI6621, PCI7411, PCI7421, PCI7611, PCI7621 Secure Digital (SD) Controller 02:06.5 Communication controller: Texas Instruments PCI6411, PCI6421, PCI6611, PCI6621, PCI7411, PCI7421, PCI7611, PCI7621 Smart Card Controller (SMC) Откъдето ясно се вижда, че на машината има SD Controler и Flash Media Controler както и един CardBus Controler. Проблемът идва от това, че в документацията на PCIxx21 контролерите на TI никъде не е описано, че SD и FlashMedia контролерите не могат да работят едновременно. Стандартно FlashMedia контролерът е активиран и би трябвало през него да можете да се обръщате към SD/MMC картите в четеца. За съжаление обаче липсата на документация относно FlashMedia контролера спира проекта за разработка на модул за него. Pierre Ossman обаче намира начин за излочването на FlashMedia контролера и след кратки тестове разбира, че автоматично след изключването му SD контролера се включва на негово място. Това по принцип е много грозен начин за работа с устройствата в компютърът ви защото се налага да се променят настройки установени от BIOS при началното инициализиране на машината. По принцип подобни операции са изключително опасни и нежелателни. Все пак за да работи моят четец моят единствен шанс беше да си изключа FlashMedia контролера. Което става с изпълнението на следната команда: # setpci -s 06.3 4c=0×22 След изпълнението на тази команда, вече спокойно може да се използва четеца с предварително заредени модулите sdhci и mmc_block. Устройствата които ви се създават от модула mmc_block обикновено са тези: /dev/mmcblk0 /dev/mmcblk0p1 << *buntu файлови хранилища | Модулна поддръжка на XFS за RHEL и дериватите му >> |
Авторите на сайта, както и техните сътрудници запазват авторските права върху собствените си материали публикувани тук,
но те са copyleft т.е. могат свободно да бъдат копирани и разпространявани с изискването изрично да се упоменава името на автора,
както и да се публикува на видно място, че те са взети от оригиналния им URL-адрес на този сървър (http://www.linux-bg.org). Авторските права на преводните материали принадлежат на техните автори. Ако с публикуването тук на някакъв материал неволно са нарушени нечии права - след констатирането на този факт материалът ще бъде свален.
All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
|