У меня есть ноутбук Samsung RF711 Core i7 под управлением Debian Wheezy со встроенным USB-устройством чтения флэш-памяти, но этот вопрос может относиться к любой системе с устройством чтения SD-карт через USB-порт. Вот что говорит lsusb
Шина 004 Устройство 004: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader
Я хочу использовать старую SD-карту и припаять к ней несколько проводов, чтобы она могла связываться с PIC через SPI, когда я подключаю ее к порту SD-карты.
Я знаю, что напряжение SD-карты составляет 3,3 В и что для взаимодействия с устройством SPI 5 В потребуется преобразователь уровня напряжения.
Я скомпилировал собственное ядро для создания модуля ядра spidev, что теперь? Я знаю, что это как-то связано с правилами udev, usb_modeswitch? но я не вижу леса за деревьями.
В идеале решением будет программа, назовем ее sdcard-spi. Когда программа запускается, она переворачивает драйверы и создает spidev-устройство в /dev. Когда он выходит, он восстанавливает функциональность слота, чтобы снова иметь возможность читать SD-карты. Это может быть процесс-демон — при его запуске слот преобразуется, а при остановке слот снова преобразуется в устройство чтения SD-карт.
Кажется, что авторы spidev могли легко это сделать, так как SD-карты изначально зондируются в режиме SPI.
Просто для ясности: я хочу открыть устройство чтения SD-карт в режиме SPI, чтобы никакая карта не обнаруживалась, и я мог осуществлять связь SPI, используя узел устройства spidev, скажем, /dev/spidev.0.