URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 67396
[ Назад ]

Исходное сообщение
"USB FM Тюнер под FreeBSD - помогите плиз!!!!"

Отправлено masters , 05-Июл-06 20:51 
Добрый день,
у меня есть ФМ тюнер Aver Media USB Radio MR 800, очень бы хотелось заставить его работать под Free BSD 5.4, но никак не получается :(
Когда втыкаешь устройство в USB разъем, оно определяется, но никакие программы его не видят! Вот строка из загрузки системы:

   uhid0: AVerMedia Technologies AVerMedia USB Radio, rev 1.10/0.03, addr 3, iclass 3/0

Перепробовал кучу методов:

- перекомпилировал ядро добавив в него строчку: device ufm - безрезультатно! Пропатчить мэйкдэйв не смог - у меня нет такого файла в системе

- поставил программу fmio-2.0.8, перепробовал все параметры драйвера, моего устройства оно не видит :(

- поставил программу ufmcontrol, в параметрах передал ей устройство /dev/uhid0 . Схавала, но пытаешься передать на него любую комманды - выдает ошибку: invalid argument

- скачал файлик amusbradio-0.01.tar.bz2 c sourceforge.net, как раз то что нужно! Под линуксом у меня работало радио с ними отлично, а вот под Free BSD эти драйвера не компилятся :( Может кто поможет портировать эти драйвера под фрю? У меня выдает вот такую ошибку:
# make
gcc -O -pipe  -Wall   amusbradio.c  -o amusbradio
amusbradio.c:25:23: asm/types.h: No such file or directory
amusbradio.c:27:26: linux/hiddev.h: No such file or directory
In file included from amusbradio.c:29:
amusbradio.h:61: error: field `rinfo_input' has incomplete type
amusbradio.h:62: error: field `rinfo_output' has incomplete type
amusbradio.c: In function `amusb_init_reports':
amusbradio.c:67: error: `HID_REPORT_TYPE_INPUT' undeclared (first use in this function)
amusbradio.c:67: error: (Each undeclared identifier is reported only once
amusbradio.c:67: error: for each function it appears in.)
amusbradio.c:67: error: `HID_REPORT_TYPE_OUTPUT' undeclared (first use in this function)
amusbradio.c:67: error: `HID_REPORT_TYPE_FEATURE' undeclared (first use in this function)
amusbradio.c:68: error: storage size of 'devinfo' isn't known
amusbradio.c:69: error: storage size of 'finfo' isn't known
amusbradio.c:70: error: storage size of 'rinfo' isn't known
amusbradio.c:71: error: storage size of 'uref' isn't known
amusbradio.c:73: error: `HIDIOCGDEVINFO' undeclared (first use in this function)
amusbradio.c:75: error: `HIDIOCAPPLICATION' undeclared (first use in this function)
amusbradio.c:82: error: `HID_REPORT_ID_FIRST' undeclared (first use in this function)
amusbradio.c:84: error: `HIDIOCGREPORTINFO' undeclared (first use in this function)
amusbradio.c:86: error: invalid application of `sizeof' to incomplete type `hiddev_report_info'
amusbradio.c:88: error: invalid application of `sizeof' to incomplete type `hiddev_report_info'
amusbradio.c:98: error: `HIDIOCGFIELDINFO' undeclared (first use in this function)
amusbradio.c:119: error: `HIDIOCGUCODE' undeclared (first use in this function)
amusbradio.c:126: error: `HIDIOCGUSAGE' undeclared (first use in this function)
amusbradio.c:132: error: `HID_REPORT_ID_NEXT' undeclared (first use in this function)
amusbradio.c:68: warning: unused variable `devinfo'
amusbradio.c:69: warning: unused variable `finfo'
amusbradio.c:70: warning: unused variable `rinfo'
amusbradio.c:71: warning: unused variable `uref'
amusbradio.c: In function `amusb_input':
amusbradio.c:140: error: storage size of 'uref' isn't known
amusbradio.c:146: error: `HIDIOCGREPORT' undeclared (first use in this function)
amusbradio.c:153: error: `HIDIOCGUSAGE' undeclared (first use in this function)
amusbradio.c:140: warning: unused variable `uref'
amusbradio.c: In function `amusb_output':
amusbradio.c:162: error: storage size of 'uref' isn't known
amusbradio.c:172: error: `HIDIOCSUSAGE' undeclared (first use in this function)
amusbradio.c:175: error: `HIDIOCSREPORT' undeclared (first use in this function)
amusbradio.c:162: warning: unused variable `uref'
amusbradio.c: In function `amusb_read_event':
amusbradio.c:210: error: storage size of 'ev' isn't known
amusbradio.c:222: error: invalid application of `sizeof' to incomplete type `hiddev_event'
amusbradio.c:210: warning: unused variable `ev'
amusbradio.c: In function `main':
amusbradio.c:307: error: storage size of 'device_info' isn't known
amusbradio.c:412: error: `HIDIOCGDEVINFO' undeclared (first use in this function)
amusbradio.c:434: warning: implicit declaration of function `HIDIOCGNAME'
amusbradio.c:307: warning: unused variable `device_info'
*** Error code 1

Stop in /usr/home/masters/amusbradio-0.01.

-----------------------------------------------------------------------------------------

Помогите кто-нить плиззз!!! Очень хочется сделать радио сервер!!!!


Содержание

Сообщения в этом обсуждении
"USB FM Тюнер под FreeBSD - помогите плиз!!!!"
Отправлено de_mone , 06-Июл-06 09:29 
>- скачал файлик amusbradio-0.01.tar.bz2 c sourceforge.net, как раз то что нужно! Под
>линуксом у меня работало радио с ними отлично, а вот под
>Free BSD эти драйвера не компилятся :( Может кто поможет портировать
>эти драйвера под фрю? У меня выдает вот такую ошибку:
># make
^^^^^^^^^^^^^^^
gmake не пробовали?

"USB FM Тюнер под FreeBSD - помогите плиз!!!!"
Отправлено AMDmi3 , 06-Июл-06 18:13 
>>- скачал файлик amusbradio-0.01.tar.bz2 c sourceforge.net, как раз то что нужно! Под
>>линуксом у меня работало радио с ними отлично, а вот под
>>Free BSD эти драйвера не компилятся :( Может кто поможет портировать
>>эти драйвера под фрю? У меня выдает вот такую ошибку:
>># make
>^^^^^^^^^^^^^^^
>gmake не пробовали?

Что за бред? С какой это стати линуксовый драйвер слету соберется под FreeBSD? Тем более ошибки от gcc а не make.

Могу посоветовать вот что:
usbdevs -v, посмотреть product ID и vendor ID девайса.
Посмотреть /sys/dev/usb/ufm.c, функция USB_MATCH. Там жестко прописаны vendor/product id девайса, к которому этот драйвер цепляется, можно попробовать прописать туда свои. Если не поможет, то все сложнее - нужно писать драйвер самому либо портировать линуксовый. Это нетривиально - читать доки (на opennet совсем недавно статья была). Сам сейчас изучаю эту тему.


"USB FM Тюнер под FreeBSD - помогите плиз!!!!"
Отправлено masters , 07-Июл-06 08:58 
>Могу посоветовать вот что:
>usbdevs -v, посмотреть product ID и vendor ID девайса.
>Посмотреть /sys/dev/usb/ufm.c, функция USB_MATCH. Там жестко прописаны vendor/product id девайса, к которому
>этот драйвер цепляется, можно попробовать прописать туда свои. Если не поможет,
>то все сложнее - нужно писать драйвер самому либо портировать линуксовый.
>Это нетривиально - читать доки (на opennet совсем недавно статья была).
>Сам сейчас изучаю эту тему.
Спасибо, седня попробую, результаты напишу тут вечером!
Кстати мне удалось связаться с автором драйверов amusbradio, он сказал что попробует их под фрю переписать! Там проблема в определении девайсов: в линуксе Human Interface устройства определяются как /dev/usb/hid0 а в Фре - /dev/uhid0

"USB FM Тюнер под FreeBSD - помогите плиз!!!!"
Отправлено AMDmi3 , 07-Июл-06 19:33 
>Спасибо, седня попробую, результаты напишу тут вечером!
>Кстати мне удалось связаться с автором драйверов amusbradio, он сказал что попробует
>их под фрю переписать! Там проблема в определении девайсов: в линуксе
>Human Interface устройства определяются как /dev/usb/hid0 а в Фре - /dev/uhid0

Так amusbradio через uhid работает? Тогда мои извинения de_mone, я думал что это ядерный драйвер. Если он работает через uhid, то должен завестись, если исправить ошибки компиляции. Насколько я понял из приведенного выше лога, для начала надо исправить пути к include'ам.


"USB FM Тюнер под FreeBSD - помогите плиз!!!!"
Отправлено masters , 08-Июл-06 11:46 
>Так amusbradio через uhid работает? Тогда мои извинения de_mone, я думал что
>это ядерный драйвер. Если он работает через uhid, то должен завестись,
>если исправить ошибки компиляции. Насколько я понял из приведенного выше лога,
>для начала надо исправить пути к include'ам.

Я пробовал, но не могу найти аналогов некоторым include-файлам во фре :( Например папки asm в исходниках вообще нет!
Если тебе не трудно, можешь попробовать? Чтобы он хотябы компилился, а я уже проверю на тюнере! Буду очень благодарен.
Архивчик с драйверами лежит здесь: http://av-usbradio.sourceforge.net/


"USB FM Тюнер под FreeBSD - помогите плиз!!!!"
Отправлено AMDmi3 , 10-Июл-06 17:58 
>Я пробовал, но не могу найти аналогов некоторым include-файлам во фре :(
>Например папки asm в исходниках вообще нет!
>Если тебе не трудно, можешь попробовать? Чтобы он хотябы компилился, а я
>уже проверю на тюнере! Буду очень благодарен.
>Архивчик с драйверами лежит здесь: http://av-usbradio.sourceforge.net/

Да, я смотрел. Похоже, в linux взаимодействие с uhid немного по-другому реализовано (ioctl разные, как минимум) - так что просто так оно не соберется. Но, учитывая, что там есть описание протокола работы с устройством, а кода не особо много, я думаю поддержку FreeBSD прикрутить реализуемо. Я бы попробовал, но ничего обещать не могу. Мне тогда нужен сам девайс или ssh на мишину куда он воткнут (обычного юзера и rw права для него на соответствующий /dev/uhid). Пиши amdmi3-at-mail.ru.


"USB FM Тюнер под FreeBSD - помогите плиз!!!!"
Отправлено AMDmi3 , 03-Сен-06 20:51 
На случай если кто-то наткнется на этот тред:

Девайс я купил, поковырялся и временно забросил. Результаты изысканий следующие:
- как uhid он отказывается работать вообще (input/output error при записи всегда. С USB_SET_REPORT то же).
- как ugen он работает (т.е. хотя бы позволяет записать в себя команду без input/output error), но не везде (у меня заработал на одной машине из двух, причем обе 6.1-RELEASE).
- там где работает, получилось послать в него некоторые команды (init, mute/unmute, поиск станций). Установить конкретную частоту не получилось. Остановить поиск после его начала тоже не получилось (насколько я понял, из него можно читать частоты найденных станций, но при чтении из ugen FreeBSD 6.1 валится в панику :)

Кое-какие мысли еще есть, так что может что-то и выйдет.


"USB FM Тюнер под FreeBSD - помогите плиз!!!!"
Отправлено kmb , 22-Мрт-07 09:32 
Ну и чего? Так и не получилось?



"USB FM Тюнер под FreeBSD - помогите плиз!!!!"
Отправлено drurus , 19-Дек-08 16:42 
>Ну и чего? Так и не получилось?

насколько я понял он планирует переписать этот драйвер