Huawei E303 12d1: 14fe переключиться в режим Ethernet

2777
theBugger

Я использую 3G ключ Huawei E303 со многими Raspberry Pi3. По-видимому, существует несколько разных моделей E303 (без разницы в маркировке продукта, только в цвете корпуса).

У меня есть два из них; первый появляется как 12d1:1f01на lsusbвыходе. Я могу успешно переключить ключ в режим Ethernet с помощью этой команды:sudo usb_modeswitch -v 0x12d1 -p 0x1f01 -V 0x12d1 -P 0x14dc -M "55534243123456780000000000000a11062000000000000100000000000000"

Другой ключ появляется как, 12d1:14feи я не знаю, какой MessageContent установить для переключения. Мне удалось переключиться на 12d1:1c05что-то вроде другого режима диска, на режим 12d1:1506широкополосного модема и на 12d1:1001то, что ???

Любая помощь будет отличной

РЕДАКТИРОВАТЬ 1:

Следуя указаниям dirkt, я взглянул на configPack.tar.gz и нашел это:

cat 12d1\:1f01 # Huawei E353 (3.se) and others TargetVendor=0x12d1 TargetProductList="14db,14dc" HuaweiNewMode=1 NoDriverLoading=1  cat 12d1\:14fe # T-Mobile NL (Huawei E352) TargetVendor=0x12d1 TargetProductList="1506,150f,151d" HuaweiNewMode=1 

Может NoDriverLoading=1быть подвох?

РЕДАКТИРОВАТЬ 2:

Эта команда sudo usb_modeswitch -v 0x12d1 -p 0xXXXX -Jавтоматически переключает первый ключ в режим Ethernet, а второй в режим широкополосного модема (параметр -J помогает).

Моя проблема все еще остается: я не могу установить второй ключ в режим Ethernet

0

1 ответ на вопрос

1
dirkt

Частичный ответ:

Есть база данных для usb_modeswitch; на Debian это в пакете usb-modeswitch-data. Он содержит файл configPack.tar.gz, который вы можете распаковать во временный каталог, чтобы узнать, что уже известно о конкретных устройствах. В вашем случае можно найти:

$ cat 12d1\:1f01  # Huawei E353 (3.se) and others TargetVendor=0x12d1 TargetProductList="14db,14dc" HuaweiNewMode=1  $ cat 12d1\:14fe  # Huawei E352 (T-Mobile NL), E173s (Variant) TargetVendor=0x12d1 TargetProductList="1506,150f,151d,1c1e" HuaweiNewMode=1 

Таким образом, вы можете переключить второй ключ (по крайней мере) на перечисленные четыре устройства. Я не знаю, как вам удалось переключиться на 1001и 1c05; если вы можете сделать это надежно, пожалуйста, свяжитесь с сопровождающим проекта, расскажите ему, как вам удалось это сделать, и попросите его включить его в базу данных.

Записи базы данных не содержат строк MessageContent, но содержат описание режима переключения, поэтому я предполагаю, что вы можете переключаться, используя эту процедуру, не предоставляя MessageContent -Mв командной строке (для обоих ключей).

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

Редактировать : посмотрел на источник. ChangeLog говорит

Version 2.2.0, 2014/05/29 Introduction of parameter "HuaweiNewMode", wrapping the standard bulk message for all newer Huawei devices; support for generic fall-back config files, combined with OS switch (per vendor ID), implementation to use a specific switching command on Android for all Huawei devices (see README of data package for details); this change was suggested by Huawei 

И README в usb-mode-switch-data говорит:

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

Таким образом, почти наверняка вам не нужно указывать MessageContent (и его можно игнорировать, даже если вы его укажете).

Спасибо за подсказку. Как я могу переключить режим без установки MessageContent? Можете ли вы привести пример? theBugger 7 лет назад 0
Извините за двойной комментарий. Я сделал попытку, пожалуйста, посмотрите на ОП theBugger 7 лет назад 0
Просто пропустите часть "-M" blah ". Попробуйте оба ключа, которые покажут, если `NoDriverLoading = 1` имеет значение (но я сомневаюсь в этом). Как я уже сказал, я не знаю, будет ли это работать - у меня нет оборудования для тестирования. Если это не сработает, нам нужно выяснить формат строки MessageContent для Huawei, что может потребовать некоторого поиска в Google и чтения исходного кода. dirkt 7 лет назад 0
Если я запускаю `sudo usb_modeswitch -v 0x12d1 -p 0x1f01` или` sudo usb_modeswitch -v 0x12d1 -p 0x14fe`, то ничего не меняется theBugger 7 лет назад 0
Если я скажу "пропустите` -M ", бла" `часть", то, конечно, вам все равно нужно будет указать идентификатор целевого поставщика / продукта (`-V` и` -P`). Без этого очевидно, что usb_modeswitch ничего не сделает. Я также отредактировал ответ по поводу необходимости MessageContent. dirkt 7 лет назад 0
Ты прав, моя вина. См редактировать 2 пожалуйста theBugger 7 лет назад 0
Опять же: если вы не предоставите ** целевой ** идентификатор производителя / продукта, то usb_modeswitch не будет знать, на какое устройство его переключать. Попробуйте `sudo usb_modeswitch -v 0x12d1 -p 0x14fe -V 0x12d1 -P 0x1506`, затем` sudo usb_modeswitch -v 0x12d1 -p 0x14fe -V 0x12d1 -P 0x150f`, затем `... -P 0x151d`, затем` -P 0x1c1e`. При необходимости добавьте `-J`. Это должно переключить его в 4 различных режима (какими бы они ни были). dirkt 7 лет назад 0
Без -J конец вывода говорит: «Предупреждение: метод переключения не указан. См. Документацию»; добавление -J, кажется, игнорирует целевой vid / pid, так как я всегда получаю ключ в 1506 theBugger 7 лет назад 0

Похожие вопросы