chechestor 0 21 апреля, 2011 Опубликовано 21 апреля, 2011 · Жалоба Добрый день... Немного продвинулся вперед, запуская USB OHCI на платке AT91SAM9G45. Я добился начала обмена с LS устройством, но только "начала"... Помогите протолкнуть обмен дальше, пожалста. На данный момент обмен выглядит так: - хост посылает запрос устройству GET_DESCRIPTOR_DEVICE (посылка видна на осциллографе), с запросом 0x40 байт данных. - устройство начинает отвечть на запрос... - пакет ответа "от устройства" прекращается примерно на трети от номинальной длины. (сравнивал с нормальным ответом) - в программе заполняется только 8 байт данных в буфере, не смотря на то что функцияя чтения вернула длину буфера 0х40. Буфер выглядит криво: usb_get_descriptor() = 0x40 0x00]: 12 01 10 01 0x04]: 00 00 00 08 0x08]: CD CD CD CD 0x0C]: CD CD CD CD 0x10]: CD CD CD CD 0x14]: CD CD CD CD 0x18]: CD CD CD CD 0x1C]: CD CD CD CD 0x20]: CD CD CD CD 0x24]: CD CD CD CD 0x28]: CD CD CD CD 0x2C]: CD CD CD CD 0x30]: CD CD CD CD 0x34]: CD CD CD CD 0x38]: CD CD CD CD 0x3C]: CD CD CD CD пробовал увеличивать значения в поле HcFmInterval и даже в HcLSThreshold... безрезультатно... =( Кто знает USB, помогите, пожалста... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 5 21 апреля, 2011 Опубликовано 21 апреля, 2011 · Жалоба Немного продвинулся вперед, запуская USB OHCI ... Так у вас OHCI или EHCI ? Если первое, то могу помочь только одним - дать рабочий проект для AT91SAM9XE512 на условиях нераспространения. А еще могу сказать, что писал его прошлой весной, и деталей не помню. Помню только, что повозиться пришлось изрядно, и спецификация OHCI была зачитана чуть ли не до дыр. Если второе, то помочь не смогу ничем. Не делал я EHCI ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
freeman_ 0 21 апреля, 2011 Опубликовано 21 апреля, 2011 · Жалоба Так у вас OHCI или EHCI ? Если первое, то могу помочь только одним - дать рабочий проект для AT91SAM9XE512 на условиях нераспространения. А еще могу сказать, что писал его прошлой весной, и деталей не помню. Помню только, что повозиться пришлось изрядно, и спецификация OHCI была зачитана чуть ли не до дыр. Если второе, то помочь не смогу ничем. Не делал я EHCI ... Здравствуйте. Если можно поделитесь кодом вашего проекта для AT91SAM9XE512. Прикручиваю u-boot'овский OHCI к AT91RM9200. Также используется хаб TUSB2046B. Хост не видит устройства Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 5 21 апреля, 2011 Опубликовано 21 апреля, 2011 · Жалоба Также используется хаб TUSB2046B. Хост не видит устройства У меня ПО, обслуживающее хост, через хаб не работает. Просто не надо было поддерживать работу через хаб. Если просто подключить к хосту, например, мышь, то все гут. А если через хаб - мое ПО на это не рассчитано. Работа с хабом - это отдельная история ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
freeman_ 0 21 апреля, 2011 Опубликовано 21 апреля, 2011 · Жалоба насколько я понял этот хаб прозрачен с программной точки зрения Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 5 21 апреля, 2011 Опубликовано 21 апреля, 2011 · Жалоба насколько я понял этот хаб прозрачен с программной точки зрения Нет. При попытке энумерации устройства на порту (через хаб) вы получите дескриптор хаба, а не дескриптор подключенного через этот хаб устройства. И тут начнется самое интересное ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
chechestor 0 21 апреля, 2011 Опубликовано 21 апреля, 2011 (изменено) · Жалоба ...Прикручиваю u-boot'овский OHCI... Здоровски... вот и я прикручиваю u-boot-овский драйвер... у меня тоже сначала устройства не виделись... оказалось, частоты не приходили на USB-периферию. а когда стал подавать частоты, то корневой хаб определял подключение устройств, но не слал посылки... оказалось, частота тактирования была слишком высокой... Так у вас OHCI или EHCI ? Если первое, то могу помочь только одним 2 Kovigor: на EHCI забил. пока хватает и OHCI... на ваши примеры очень хотелось бы посмотреть =) а проект ваш на чем написан? Изменено 21 апреля, 2011 пользователем Chestor Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 5 21 апреля, 2011 Опубликовано 21 апреля, 2011 · Жалоба а проект ваш на чем написан? На Си, конечно же ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
chechestor 0 21 апреля, 2011 Опубликовано 21 апреля, 2011 · Жалоба На Си, конечно же ... =))) дык я ж среду имел ввиду... IAR, Kdevelop для GCC, Kail, мож еще чего... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 5 21 апреля, 2011 Опубликовано 21 апреля, 2011 · Жалоба =))) дык я ж среду имел ввиду... IAR, Kdevelop для GCC, Kail, мож еще чего... Keil. Отправлю минут через 15 ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
chechestor 0 21 апреля, 2011 Опубликовано 21 апреля, 2011 · Жалоба Кстати, перекопал код... Клавиатура отвечает нормально, все как положено, оказывается... ей больше 8 байт можно и не отвечать по правилам... А вот после запроса дескриптора от клавиатуры идет ресет порта корневого хаба, на котором висит клава... и вот как раз корневой хаб уже отказывается ресетить порт... бред какой-то... 0_o Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться