Перейти к содержанию
    

Добрый день!

Возникла трудность следующего характера. У меня есть одноплатный компьютер с Linux, не коммерческий, но пусть для примера-- Raspberry pi или Beaglebone. Назовём его Девайс. Необходимо, чтобы после подключения Девайса по USB к любому ПК с доступом в сеть у Девайса тоже появлялся этот доступ.

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22 минуты назад, dmt0768 сказал:

к любому ПК

Ой. А если на ПК Mac OS или Linux (куча различных версий) или Windows (тут тоже версий немало)? Чисто технически как вы хотели бы угодить всем ПК и всем ОСям? Чисто теоретически тот же RNDIS, о котором вам выше сказали, может и не поддерживаться пок какой-то причине ПК. Вам придётся держать десятки различных драйверов... Но даже если вы и с этим справитесь, доверится ли пользователь установке вашего ПО в свою систему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, dmt0768 said:

Существует множество решений такой задачи

А можно увидеть хоть один такой способ? Чтоб юсб слейв взял и получил ip.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, rkit сказал:

А можно увидеть хоть один такой способ? Чтоб юсб слейв взял и получил ip

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

Добавлено: видимо я неправильно понял вопрос. В этом и подобном примерах USB-устройство не получает IP, а само присваивает его виртуальной сетевой карте, появляющейся в компьютере.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 hours ago, Сергей Борщ said:

Да этого-то как раз как грязи.

Это обратное - слейв выдает ip хосту. Доступа в интернет через хост у него нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 hours ago, Сергей Борщ said:

Да этого-то как раз как грязи.

Ну это как раз корявый способ. Человеку пришлось лезть в дивайсы и руками править настройки драйвера. 
У него неправильный дескриптор, поэтому винды автоматически и не подхватывают этот RNDIS

Надо так как указано здесь - https://www.usb.org/defined-class-codes#anchor_BaseClassEFh

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 hours ago, AlexandrY said:

Ну это как раз корявый способ. Человеку пришлось лезть в дивайсы и руками править настройки драйвера. 
У него неправильный дескриптор, поэтому винды автоматически и не подхватывают этот RNDIS

Надо так как указано здесь - https://www.usb.org/defined-class-codes#anchor_BaseClassEFh

Тоже везде обратное написано - "Connecting a host to the Internet"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

02.03.2021 в 21:30, rkit сказал:

Это обратное - слейв выдает ip хосту. Доступа в интернет через хост у него нет.

Эти две вещи абсолютно не связаны. Просто на компе DHCP-колиент поднят по-умолчанию. Поднимите на компе DHCP-сервер, а на железке реализуйте DHCP-клиент и будет у вас железка получать адрес от компа. Но доступа в интернет у нее все равно не будет пока вы не настроите вручную на компе мост или шлюз между виртуальной сетевой картой железки и имеющей доступ в интернет сетевой картой. Как только настроите - "сразу польется вода". Это не так  сложно - в XP, насколько помню, надо было в сетевых подключениях выделить две карты, вызвать контекстное меню и выбрать в нем что-то вроде "создать мост", а в gnome зайти в свойства сетевого подключения железки и вместо "DHCP" выбрать там "раздавать интернет".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 
8 minutes ago, Сергей Борщ said:

Эти две вещи абсолютно не связаны.

Ты собрался получить доступ в интернет без IP? Фига себе.

 

12 minutes ago, Сергей Борщ said:

виртуальной сетевой картой железки

Которой я пока так и не было показано в природе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, rkit сказал:

Ты собрался получить доступ в интернет без IP? Фига себе.

А что не так?  :russian_ru:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, rkit сказал:

Ты собрался

Что-то не припомню, что пил с вами, не говоря уже про "на брудершафт".

5 часов назад, rkit сказал:

Которой пока так и не было показано в природе.

Я писал для своей железки что-то подобное показанному по ссылке. Виртуальная сетевая карта в компе появляется. Маршрутизатор в компе тоже настраивал и воткнутая в эзернетовский разъем моего лаптопа железка получала от него локальный IP и ходила в интернет через его WiFi. Объединить эти два варианта - как два пальца. А вы можете и дальше рассуждать о том, что это невозможно. Тоже мне "крымский мост" нашли.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я желания ТС понял несколько по другому:
железка не создает локальную сеть с получением IP, а прикидывается запущенным приложением на ПК, к которому подключена, и использует его IP. Железке только нужно как-то запустить приложение и получить порт для работы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, Baser сказал:

А я желания ТС понял несколько по другому:
железка не создает локальную сеть с получением IP, а прикидывается запущенным приложением на ПК, к которому подключена, и использует его IP. Железке только нужно как-то запустить приложение и получить порт для работы.

Если так, то:

Создаём MSD. На нём диск. На диске - файл автозапуска. Файл автозапуска запускает приложение (с этого же диска), которое уже соединяется с прошивкой тем или иным способом (через control-ep0 например или иначе). По этому установленному каналу уже можно пробросить канал доступа к сети, к которой имеет доступ приложение на компе.

В принципе то запущенное приложение может выполнять роль прокси-сервера для запросов через канал связи от устройства.

Это под виндой конечно, про линух - не знаю можно ли так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, Baser said:

А я желания ТС понял несколько по другому:
железка не создает локальную сеть с получением IP, а прикидывается запущенным приложением на ПК, к которому подключена, и использует его IP. Железке только нужно как-то запустить приложение и получить порт для работы.

TC очевидно же хотел чтобы дивайc выходил в интернет через путь:  дивайс -> USB -> комп -> интернет. 
RNDIS в Win10 Home с правильным дескриптором подхватывается автоматом и начинает работать сразу. 
Маршрутизацию настраивать не надо и DHCP сервер в дивайсе не нужен.
Просто у интернет соединения компа  включаем шаринг на сетевой интерфейс RNDIS.
Дивайсу даем адрес 192.168.137.2 и маску 255.255.255.000 и все, выход в интернет для дивайса открыт. 

Ну да, тут нужно ручками выбрать идентификатор  RNDIS интерфейса, который в принципе не предсказуем и может меняться со временем. 
Но я б не полагался на autorun, его стандартно банят антивирусы.
Естественней было бы из того же интернета кликнуть ссылку с конфигуратором.   

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...