Как подсистема i2c сопоставляет устройства с драйверами?

Существует ряд зарезервированных символов, которые нельзя использовать в именах файлов Windows \ / : * ? " < > |. CIFS следует этому правилу, что означает, что вы не можете использовать ни один из этих символов в имени файла.

SAMBA можно настроить с помощью vfs catiaдля преобразования таких символов в визуально похожие альтернативы, но это не значение по умолчанию и может быть не настроено в вашем экземпляре. (Если это так, то простого подстановочного знака ?будет достаточно для соответствия двоеточию, т.е. rmdir ?5N0A210. Но вы уже пробовали это, и это не удалось.)

Единственным другим решением является удаление каталога непосредственно на сервере, на котором размещена файловая система. Если это Windows, то проверка файловой системы принудительно переименует каталог. Если это Unix/Linux с SAMBA, то будет достаточно простогоrmdir(или rm -rf).

3
05.08.2020, 09:41
1 ответ

I²C не поддерживает перечисление устройств, поэтому ядро ​​предоставляет четыре различных способа инициализации устройств I²C:

  • перечисление их в дереве устройств(Плата Warp i.MX7 делает это с ov2680), в таблицах ACPI или в файлах платы (игнорирует последнее, это предусмотрено только для обратной совместимости );
  • создание их явных экземпляров, когда аппаратное обеспечение «знает» об их существовании (это распространено, например, в телевизионных адаптерах, которые используют внутреннюю шину I²C для соединения своих различных компонентов );
  • поиск их во время инициализации шины;
  • установка их из пользовательского пространства.

Последнее должно позволять принудительно опрашивать устройство, если известен его адрес на шине:

echo ov2680 0x50 > /sys/bus/i2c/devices/i2c-7/new_device

После того, как вы убедились, что это работает, вы можете выяснить, где вам нужно добавить информацию для автоматической инициализации устройства, используя зондирование на основе дерева устройств или шины -. Документация ядра (, см. первую ссылку выше ), должна помочь вам двигаться в правильном направлении.

Основываясь на вашем комментарии со ссылкой на OVTI2680, я подозреваю, что проблема здесь в том, что есть два драйвера OmniVision OV2680,drivers/media/i2c/ov2680.cи drivers/staging/media/atomisp/i2c/atomisp-ov2680.c. Первый находится с помощью дерева устройств, второй — с помощью ACPI, а наличие файла OVTI2680в вашем каталоге i2cпредполагает, что последний загружается.

2
18.03.2021, 23:14

Теги

Похожие вопросы