LINUX.ORG.RU

Нужен странный девайс USB->Ethernet.


0

1

Гуглем не находится ничего похожего.

Нужно устройство, которое является USB device и тупо транслирует все пакеты USB в сеть и наоборот, принимаемое по сети выдаёт в USB шину.

Для чего нужно:

Сейчас дохренищи копеечных девайсов в которые можно втыкать USB-флешки ( и только флешки ). От фоторамок до телевизоров. И практически нет девайсов в которые можно втыкать Ethernet-шнурок. А если таковые находятся - то сразу стоят совершенно неадекватно денег.

Простейшее применение - использовать фоторамку для отображения актуальных графиков MRTG/RRD. Или телевизором смотреть кины с сервака без беготни с флешкой. Или испольовать фоторамку в качестве индикатора каких-нибудь давлений-напряжений-мощностей-погоды для дома/работы. Копеечный китайский MP3 проигрыватель который будет играть файло с сервера вместо приёмника на кухне. Да дофига можно чего придумать.

Втыкаем девайс, фоторамка общается с девайсом как с флешкой, пакеты от фоторамки идут по сети на сервак, на серваке работает драйвер driver/usb/gadget/mass_storage.c который через USB Device controller переписанный для сетевухи ( написать - элементарно, пару часов над каким-нибудь driver/usb/gadget/imx_udc.c поколдовать ) принимает USB пакеты от рамки и отвечает то, что она хочет услышать.

Можно ещё проще, взять driver/usb/gadget/mass_storage.c и переписать в виде юзерспейсного демона, который слушает сетевой сокет и отвечает туда же.

driver/usb/gadget/mass_storage.c смотрит в директорию куда MRTG/RRD кладёт картинки.

На фоторамке имеем обновляющееся изображение с сервака, потому как она тупо перебирает файлы которые нашла на «флешке» и не подозревает, что эта флешка вовсе не флешка а дира с картинками на сервере.

Дык вот, как может называться девайс, который надо воткнуть в фоторамку и в который надо воткнуть сетевой шнурок? Все попытки найти что-то подобное гуглом провалились, поэтому требуется помощь зала.

ЗЫ: Можно, конечно, самому собрать - PIC18F2550 + ENC28J60, но может велосипед уже изобретён?

★★★★★

Последнее исправление: Stanson (всего исправлений: 3)

Нищеброд, купи монитор и какой-нибудь одноплатник с сетью к нему

устройство, которое является USB device и тупо транслирует все пакеты USB в сеть и наоборот, принимаемое по сети выдаёт в USB шину.

>>ЗЫ: Можно, конечно, самому собрать - PIC18F2550 + ENC28J60

Stanson, чтобы я не разбрасывался ложными обвинениями в твою сторону о недостаточной компетентности в вопросах проектирования различных устройств и системного ПО к нему, скажи, читал ли ... да ладно, проще, открывал ли ты хоть раз спецификацию на шину USB? К какому классу USB-устройств ты отнесёшь своё изобретение?

Если да, то поговорим о том, как фоторамка (а ведь другого применения ты не смог придумать, да?) забирает с UBS-накопителя фоточки?

adriano32 ★★★
()

> Stanson, чтобы я не разбрасывался ложными обвинениями в твою сторону

о недостаточной компетентности в вопросах проектирования различных

устройств и системного ПО к нему, скажи, читал ли ... да ладно,


проще, открывал ли ты хоть раз спецификацию на шину USB? К какому


классу USB-устройств ты отнесёшь своё изобретение?



Тут легко найдёшь ответ: http://stanson.ch

Если да, то поговорим о том, как фоторамка (а ведь другого применения

ты не смог придумать, да?) забирает с UBS-накопителя фоточки?



Давай поговорим. Я слушаю.

Stanson ★★★★★
() автор топика

> Нищеброд, купи монитор и какой-нибудь одноплатник с сетью к нему

Монитор - 2-3 тыщи, одноплатник с каким-нибудь TV-out (хотя бы) - 2-3 тыщи. Минимум 4 тыщи. Фоторамка + девайс - 1 тыща. В 4 раза дешевле.

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

Кого выберет заказчик и кто из нас нищеброд?

Stanson ★★★★★
() автор топика

Блин. Слился, что-ли.... А такой жирненький был, ням-ням...

Ладно, в догонку ещё поиздеваюсь:

К какому классу USB-устройств ты отнесёшь своё изобретение?

Класс USB устройств определяется набором данных в дескрипторах и протоколом обмена данными через endpoint'ы кроме control (если они есть). Дескрипторы передаются через control endpoint в пакетах control transfer в ответ на запросы от хоста. Соответственно, класс девайса определяется исключительно ответами девайса. Потому как искомая затычка вообще никакой самодеятельностью не занимается, а просто передаёт пакеты из USB в Ethernet и обратно, то класс девайса будет определяться исключительно софтом, который будет отвечать на Ethernet-пакеты. В рассмотренном примере это будет Mass Storage Device class, который реализован в mass_storage.c

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Stanson

Хорошо, поговорим, только сперва хотелось бы выяснить, в данный момент (оставив громкое слова «концепция») ты хочешь показать статистику на удалённом дисплее (без наличия компа) подключив по сети?

Если первое, то берём целый IP-KVM или кусок от IP-KVM, что-то типа такого и монитор с VGA-выходом и задача решена. Дискуссию по поводу давней тяги очумелых ручек заюзать относительно дешёвые фоторамки как монитор давай оставим в стороне.

Если второе, то вопрос первый: зачем передавать USB-пакеты хосту, когда целесообразней реализовать в девайсе что-то вроде CIFS/NFS/SSHFS-клиента? Никакой же чёрт-побери модификации драйверов на хосте, или это главное требование, ебаться не только с самим девайсом, но ещё с тем, чтобы его ПК захотел видеть и понимать? Плюс вопрос кроссплатформенности этого драйвера, хотя да, я забыл, мы же все тут Ъ-никсоиды и ни у кого нет венды или мака ни дома, ни у друзей, ни на работе.

Вопрос второй: у меня почему-то упорное (или упоротое и тупое) ощущение, что фоторамка/телек при подключении накопителя __один раз__ считывает содержимое ФС накопителя (ах да, там же ещё ФС) и затем начинает воспроизводить то, что нашла или отображать в просмотрщике содержимого если речь о телеке.
Итак, сможет ли фоторамка/телек реагировать на изменение содержания «флешки»? Что если фоторамка/телек один раз получив список файлов при подсоединении флешки, затем пока «флешка» не будет отсоединена и подсоединена вновь, соответственно не будет перечитывать содержимое флешки? Если это так, то для реализации «динамики» (скажем для MRTG) придётся городить адову кучу костылей вроде программного переподключения устройства.

adriano32 ★★★
()
Ответ на: комментарий от Stanson

Сотня индикаторов - и 200 тыщ мои легко.

Лол, лучше так: «Тысяча индикаторов — и два мильйона мои легко!» Мильйон же круче звучит :D

В таких случаях обычно говорят: «Ты их сделай и продай сотню, а мы посмотрим и порадуемся за тебя и твои 200 тыщ.»

adriano32 ★★★
()
Ответ на: комментарий от Stanson

Молодец, возьми с полки пирожок и положи обратно.

Ну что же, я удостоверился, что ты не нуб, которому в 100500-ый раз захотелось сделать из фоторамки полнофункциональный дисплей, так что теперь могу дать тебе ссылку которую ты не осилил нагуглить. Держи.

adriano32 ★★★
()
Ответ на: комментарий от Stanson

потому как мне не надо будет ставить софт на сотню одноплатников.

Зато надо будет снабдить драйверами под все вариации ОС заказчика.

adriano32 ★★★
()
Ответ на: комментарий от adriano32

> ты хочешь показать статистику на удалённом дисплее (без наличия

компа) подключив по сети?

Например так, да.

Если первое, то берём целый IP-KVM или кусок от IP-KVM, что-то типа
такого и монитор с VGA-выходом и задача решена.

Цена? :) Ой, а чо так дорого-то?

зачем передавать USB-пакеты хосту, когда целесообразней реализовать в
девайсе что-то вроде CIFS/NFS/SSHFS-клиента?

Целесообразней для кошелька производителей однокристалок/SoC?

Никакой же чёрт-побери модификации драйверов на хосте, или это
главное требование, ебаться не только с самим девайсом, но ещё с тем,
чтобы его ПК захотел видеть и понимать?

Ебитесь лучше вы с одноплатниками и мониторами.

Плюс вопрос кроссплатформенности этого драйвера, хотя да, я забыл,
мы же все тут Ъ-никсоиды и ни у кого нет венды или мака ни дома, ни
у друзей, ни на работе.

Мне абсолютно наплевать как на винду, так и на мак.

Вопрос второй: у меня почему-то упорное (или упоротое и тупое)
ощущение, что фоторамка/телек при подключении накопителя __один
раз__ считывает содержимое ФС накопителя (ах да, там же ещё ФС) и
затем начинает воспроизводить то, что нашла или отображать в
просмотрщике содержимого если речь о телеке.

А ощущение это наверно где-то пониже спины, да? Чисто разобрать фоторамку, посмотреть на детальки и подумать, что ну никак там нету никакой приличной RAM окромя видеопамяти - не судьба? Понимаю, конечно, есть боязнь лишних деталей, «не могу собрать обратно» и всё такое, но, видимо, в данном случае ощущения в том самом месте очень нравятся.

Что если фоторамка/телек один раз

Если бы, да кабы... Не получилось разговора. Информации нуль, сплошная газификация луж. А как дысал, как дысал.... «Вот потряси регалиями, тогда поговорим». Тьфу.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от adriano32

> Зато надо будет снабдить драйверами под все вариации ОС заказчика.

Какие нахрен ОС заказчика? Сервак один. Такой, как я скажу. А кто туда картинки будет класть - мне абсолютно плевать. Хоть из-под MSDOS.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Stanson

Сервак один. Такой, как я скажу.

То есть если у меня вендосеть а я вот уссаться, но хочу фоторамки подсоединить по USB в сеть, ты мне, заказчику, будешь диктовать какой я сервер дополнительно должен купить, чтобы он раздавал фоторамкам статистику? Если чё, я бы тебе сказал: «Давай драёвер под венду или GTFO»

adriano32 ★★★
()
Ответ на: комментарий от adriano32

> Ну что же, я удостоверился, что ты не нуб

А вот я удостоверился. Ссылка совсем про другое. Там нет ничего про тупенькие девайсы которые можно воткнуть вместо флешки. Задача там решается другая - воткнутый в комп девайс отдать по сети другому компу. А не компом съимитировать воткнутый куда-то USB девайс.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Stanson

Ебитесь лучше вы с одноплатниками и мониторами.

Да тут как раз-таки ебли меньше, чем с таким устройством и написанием к нему драйвера, даже если nix-only.

adriano32 ★★★
()
Ответ на: комментарий от adriano32

> ты мне, заказчику, будешь диктовать какой я сервер дополнительно

должен купить, чтобы он раздавал фоторамкам статистику?

Ага. И если ты, заказчик, его не захочешь купить - то пойдёшь искать кого-нибудь другого.

Если чё, я бы тебе сказал: «Давай драёвер под венду или GTFO»

Ну и пошёл бы платить бабло за мониторы с компами.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от adriano32

> 200 штук — двести тыщ, говоришь, да?

Угу. Причём, чем больше я плюю на винды, тем крупнее суммы. Сначала не понимал, теперь пользуюсь.

С виндами пусть студенты за копейки трахаются.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от adriano32

> Да тут как раз-таки ебли меньше, чем с таким устройством и написанием

к нему драйвера, даже если nix-only.

Драйвер или демон написать элементарно. За пару вечеров, между делом, напишу легко. Он нужен один, на единственном компе. Отладка практически не нужна, ибо самый гемор - реализация MSD class в лучшем виде присутствует в сырцах ядра, а поменять ввод-вывод дело не хитрое.

А вот одноплатник + монитор - это поставь систему, вычисти оттуда ненужное, заставь делать нужное, отладь, поставь это на все остальные девайсы. Блин, а жрать это всё сколько будет. А ещё придумывать куда засунуть и как запитать этот чортов одноплатник. Да ну нахер такой геморрой.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от redgremlin

Не, это тупо усилитель-буфер, чтобы USB по витухе гонять. Ethernet'ом там не пахнет. В свитч не воткнёшь и всё такое...

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Stanson

>Ethernet'ом там не пахнет. В свитч не воткнёшь и всё такое...

Это ж как раз и есть «USB device и тупо транслирует все пакеты USB в сеть и наоборот, принимаемое по сети выдаёт в USB», не?

thesame ★★★★
()
Ответ на: комментарий от thesame

> Это ж как раз и есть «USB device и тупо транслирует все пакеты USB в

сеть и наоборот, принимаемое по сети выдаёт в USB», не?

Не. Это «тупо конвертирует сигналы USB в пригодные для передачи по витухе».

А то что хочется - это чтобы спрашивает по USB фоторамка затычку «дай-ка мне Devcie Descriptor», затычка в сеть передаёт «Для IP 192.168.1.1 порт 12345 дай-ка мне Device Descriptor». И когда сервак отвечает «Для 192.168.1.2 порт 1024 на тебе Device Descriptor», то затычка передаёт по USB фоторамке «на тебе Device Descriptor».

Stanson ★★★★★
() автор топика

Не проще вынуть экран из фоторамки и использовать его напрямую на индикаторном устройстве? А при большом числе необходимых экранов заказывать из Китая сразу экраны.

PolarFox ★★★★★
()
Ответ на: комментарий от PolarFox

> Не проще вынуть экран из фоторамки и использовать его напрямую на

индикаторном устройстве? А при большом числе необходимых экранов
заказывать из Китая сразу экраны.

В дешёвых фоторамках, кстати, бывают замечательные экраны с аналоговыми входами RGB тактовой и синхры. Если надо просто сделать маленький экранчик к обычному системнику - то можно заморочиться и воткнуть в VGA через несложный переходник, правда китайцы не любят даташиты выкладывать, но можно на живой фоторамке осциллографом посмотреть.

Однако, если цель просто показывать некие меняющиеся со временем картинки, причём никакой системник рядом совсем не нужен, ни маленький, ни большой, то откуда на этот экран RGB с синхрой давать? Это как минимум надо городить какой-то свой процессор с видеопамятью. А в фоторамке оно уже есть. Нужно только дать ей картинки.

Stanson ★★★★★
() автор топика

Я только одного не понял: нафига USB?

SD это же SPI. SPI -> Ethernet полно, да и так делается на раз.

x-com
()

>И практически нет девайсов в которые можно втыкать Ethernet-шнурок.

Зачем шнурок, когда есть wifi?

Tigger ★★★★★
()
Ответ на: комментарий от x-com

> SD это же SPI. SPI -> Ethernet полно, да и так делается на раз.

И что, разве пресловутая фоторамка умеет что-то ещё делать по SPI кроме как читать SD/MMC?

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Tigger

> Зачем шнурок, когда есть wifi?

Есть и wifi. Только контроллер Ethernet ( интегрированный в однокристалку или отдельный - не важно ) в общем случае стоит в разы дешевле контроллера wifi.

Да, искомую затычку можно сделать на каком-нибудь Broadcom BCM47XX, добавив к нему флеш и RAM. Есть в них не только host USB. Только какой-нибудь PIC c usb + контроллер Ethernet стоят на порядки дешевле.

И, кстати, помехозащищённость, ужор и всё такое у wifi оставляют желать лучшего. Кроме того, в случае промышленных зданий, например, где внутренние стены сделаны из сэндвич-панелей типа профлист-минвата-профлист wifi за пределы одного помещения просто не выйдет.

Но основной фактор, конечно цена.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Stanson

Да, это я погорячился - без распиливания рамки и прошивки только если ставить еще контроллер.

О, вспомнил! А как насчет wifi-SD типа eye-fi? Все уже есть и стоит ~1500р.

x-com
()
Ответ на: комментарий от x-com

> А как насчет wifi-SD типа eye-fi? Все уже есть и стоит ~1500р.

Оно же наоборот - туда кладёшь файл, она ищет wifi и на сервак этот файл кладёт. И 1500 р оно стоит там, а здесь дешевле чем за 3 т. не найти. Тем более в приличных количествах.

Stanson ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.