BaN 0 23 октября, 2021 Опубликовано 23 октября, 2021 · Жалоба 24 minutes ago, Tarbal said: Тут 2 проблемы: 1. Почему-то драйвер usb251xb не дергает или дергает но оставляет на нуле сигнал сброса, хотя, судя по коду драйвера, он должен подавать подавать короткий сигнал 0 на пин сброса и потом возвращать пин в 1. При этом через sysfs из юзерспейса пин сброса нормально экспортируется и управляется и сигнал на ножке меняется. 2. Если откинуть сам драйвер usb251xb и просто пытаться задетектить хаб драйвером I2C после ручного сброса из юзерспейса, то устройство не находится на шине I2C. При этом на этой же шине есть еще одно устройство и его драйвер I2C находит нормально. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 23 октября, 2021 Опубликовано 23 октября, 2021 · Жалоба Есть два места, где может быть проблема в программе и в железе. Если вы попробуете подергать ножкой как я дал ссылку, то одно из мест отпадет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 26 октября, 2021 Опубликовано 26 октября, 2021 · Жалоба В общем, дело было, как всегда, не в бобине) Итак: 1. Хаб аппаратно сконфигурирован для настройки по SMBus 2. Загружаемый драйвер USB215xb (modprobe usb251xb) _не_ отправляет по шине ничего от слова совсем. Ни по I2C0, ни по I2C1. Кто в курсе, подскажите, как ему передавать параметры? 3. Через i2c-tools я всё-таки добился отправки данных, для этого долго курил тырнет в поисках эмуляции SMBus Block Transfer 4. Сконфигурировал дефолтными значениями, записал в регистр STATUS/COMMAND (0xFF) заветное 0x01 (Hub will signal a USB attach event to an upstream device) и... увидел давно ожидаемые debian@beaglebone:~$ sudo i2ctransfer -v -y 1 w3@0x2c 0xFF 0x01 0x01 msg 0: addr 0x2c, write, len 3, buf 0xff 0x01 0x01 debian@beaglebone:~$ [ 1847.365857] usb 1-1: new high-speed USB device number 2 using musb-hdrc [ 1847.518055] usb 1-1: New USB device found, idVendor=0424, idProduct=2422, bcdDevice= 0.a0 [ 1847.526340] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 1847.546666] hub 1-1:1.0: USB hub found [ 1847.550776] hub 1-1:1.0: 2 ports detected debian@beaglebone:~$ lsusb Bus 001 Device 002: ID 0424:2422 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub В общем, остаётся это всё автоматизировать, желательно через драйвер, но не знаю, как ему передавать параметры... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BaN 0 26 октября, 2021 Опубликовано 26 октября, 2021 · Жалоба 9 minutes ago, toweroff said: Кто в курсе, подскажите, как ему передавать параметры? Все параметры берутся из Device Tree. При загрузке модуля какая-нибудь отладочная информация выдается в логе? Если нет, то остается вносить в модуль отладочную информацию и пересобирать, чтобы пошагово разобраться, что там в модуле происходит и на каком этапе возникает проблема. Если ничего не выводится, то можно настроит уровень логгирования: https://www.kernel.org/doc/html/latest/core-api/printk-basics.html Quote To change the current console_loglevel simply write the desired level to /proc/sys/kernel/printk. For example, to print all messages to the console: # echo 8 > /proc/sys/kernel/printk Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 26 октября, 2021 Опубликовано 26 октября, 2021 · Жалоба А если просто: echo usb251xb 0x2c > /sys/class/i2c-adapter/i2c-1/new_device ? Использовал USB2517, но конфигурацию грузил вручную, драйвер даже не пробовал. Еще один момент: хаб на musb - такое себе удовольствие, что подключать планируете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 26 октября, 2021 Опубликовано 26 октября, 2021 · Жалоба 14 минут назад, BaN сказал: Все параметры берутся из Device Tree. При загрузке модуля какая-нибудь отладочная информация выдается в логе? в том-то и дело, через device tree у меня даже пин сброса не конфигурируется как надо. Может, я что не так ему (дереву) говорю, конечно... Но собирается ведь, не ругается а драйвер при загрузке через modprobe молчит, как партизан 6 минут назад, aaarrr сказал: echo usb251xb 0x2c > /sys/class/i2c-adapter/i2c-1/new_device попробую.. 6 минут назад, aaarrr сказал: Еще один момент: хаб на musb - такое себе удовольствие, что подключать планируете? один постоянный коннект (LTE), второй порт наружу через ключ с контролем тока 3 минуты назад, toweroff сказал: echo usb251xb 0x2c > /sys/class/i2c-adapter/i2c-1/new_device попробовал. Там у микрочипа своя заморочка: он понимает только SMBus Block transfer и на просто S-SA-R-A-P не отзывается, поэтому и не грузится ничего Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 26 октября, 2021 Опубликовано 26 октября, 2021 · Жалоба 15 minutes ago, toweroff said: один постоянный коннект (LTE), второй порт наружу через ключ с контролем тока Мне в такой ситуации пришлось отключить виртуальные tty у модема, т.к. они выбирали лимит на interrupt EP. Если есть возможность задействовать полноценный USB, то лучше так и сделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toweroff 1 26 октября, 2021 Опубликовано 26 октября, 2021 · Жалоба 1 час назад, aaarrr сказал: Мне в такой ситуации пришлось отключить виртуальные tty у модема, т.к. они выбирали лимит на interrupt EP. Если есть возможность задействовать полноценный USB, то лучше так и сделать. Спасибо, будем иметь ввиду Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться