Vodafone E3730은 usb_modeswitch를 사용할 수 없습니다.

Vodafone E3730은 usb_modeswitch를 사용할 수 없습니다.

너무 길어요.

Vodafone E3730 HSPA Express 데이터 카드는 Kubuntu 18.04 LTS에서 전혀 작동하지 않는 것 같습니다. 이 문제를 어떻게 해결할 수 있나요?


설명하다

카드는 한때 유효했습니다. 솔직히 18.04 LTS나 일부 이전 LTS 버전에서 작동했는지 기억이 나지 않지만 작동했습니다. 현재 KDE Plasma 18.04 LTS에서는 작동했던 네트워크 설정이 저장되었습니다. 카드를 삽입하면 부팅될 것으로 예상했지만 카드가 거기에 없는 것 같습니다.

SIM 카드는 제거되지 않았으며 계속 작동합니다.

작동하는 순간부터 아무런 문제가 없었던 것으로 기억됩니다. 아마도 거의 즉시 작동할 것입니다. 하드웨어는 인식되고 APN같은 세부사항만 설정하면 됩니다.


기술적 세부 사항

이 정보는 스티커에 인쇄되어 있습니다.

Vodafone Mobile Connect
모델: E3730
HSPA Express 데이터 카드

옵션으로 EU에서 설계 QUALCOMM 3G CDMA 옵션으로
아일랜드에서 제작

출처 lsusb:

Bus 001 Device 006: ID 0af0:7301 Option

출처 usb-devices:

T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#=  6 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0af0 ProdID=7301 Rev=00.00
S:  Manufacturer=Option N.V.
S:  Product=Globetrotter HSUPA Modem
S:  SerialNumber=Serial Number
C:  #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)

cat /etc/issue:

Ubuntu 18.04.5 LTS \n \l

uname -a:

Linux whatever 4.15.0-121-generic #123-Ubuntu SMP Mon Oct 5 16:16:40 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

연구

이 장치에 대한 올바른 드라이버는 다음과 같습니다.option.

내가 배운 것usb_modeswitch예:

일부 새로운 USB 장치에는 고유한 온보드 Windows 드라이버가 있으며, 대부분은 WWAN 및 WLAN 어댑터입니다. 처음 연결하면 플래시 드라이브처럼 작동하고 거기에서 Windows 드라이버를 설치합니다. 드라이버가 설치되면 저장 장치가 사라지고 대부분 복합 장치(예: 모뎀 포트 포함)인 새 장치가 나타납니다.

Linux에서는 대부분의 경우 드라이버 usbserialoption. 그러나 장치는 초기 usb-storage에 기본적으로 바인딩되어 있습니다. usb_modeswitch 그러면 제공된 대량 메시지(대부분 대용량 저장소 명령)가 장치로 전송될 수 있습니다. 이 메시지는 Windows 드라이버의 작동을 분석하여 확인해야 합니다.

패키지를 확인 usb-modeswitch하고 usb-modeswitch-data설치했습니다. 나는 그것들이 자동으로 작동해야 한다고 믿습니다. 적어도 내 카드가 작동할 때는 작동하는 것 같았고 나는 그것에 대해 전혀 몰랐습니다 usb_modeswitch.

나는 그 장치가 플래시 메모리처럼 보이지도 않는다는 것을 알아차렸습니다. usb-devices위의 출력 에는 Cls=08(stor.)다음과 같은 내용이 나와 있습니다.기본 클래스 08h(대량 저장 장치);하지만 운전사는 none. 블록 장치가 나타나지 않습니다.

그러다가 내가 찾았어이 답변내 하드웨어에 맞게 조정해 보았습니다.

먼저 0af0:7301. /etc/usb_modeswitch.d/​장치를 제거했다가 다시 삽입했습니다. 그런 다음 usb-device나에게 이것을 주었다:

T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#=  7 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0af0 ProdID=7301 Rev=00.00
S:  Manufacturer=Option N.V.
S:  Product=Globetrotter HSUPA Modem
S:  SerialNumber=Serial Number
C:  #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

드라이버는 입니다 usb-storage. 실제로 새로 생성된 블록 장치( /dev/sr0제 경우)를 설치하고 여기에 Windows 드라이버가 포함되어 있는지 확인할 수 있습니다. 빈 파일로 인해 usb_modeswitch장치에서 어떤 작업도 수행되지 않는 것 같습니다.

usb_modeswitch다음 으로 수동으로 실행 해 보았습니다 .

sudo usb_modeswitch -v 0x0af0 -p 0x7301 --option-mode
# or
sudo usb_modeswitch -v 0x0af0 -p 0x7301 --option-mode -C 0xff

위 명령으로 인쇄된 출력에서는 작동하는 것으로 표시되지만 출력에서 ​​유일한 변경 사항은 usb-device다음 줄입니다.

I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)

이것 은 내가 장난 을 시작 하기 전에 본 것 입니다 usb_modeswitch. usb_modeswitch자동으로 수행된 작업을 수동으로 재현한 것 같습니다 . 내 설명은 도구가 부분적으로만 작동한다는 것입니다. 드라이버를 제거할 수 있지만( usb-storage로 변경 none) 모드를 전환할 수는 없습니다( 08(stor.)유지).


질문

여기서 계속하는 방법은 무엇입니까? 모뎀을 작동시키는 방법은 무엇입니까?

답변1

너무 길어요.

장치는 Vendor=0af0, 로 식별됩니다 ProdID=7301. 0af0:7301in이라는 이름의 파일을 생성합니다 /etc/usb_modeswitch.d/(또는 파일이 있는 경우 편집). 그 내용은 다음과 같아야 합니다:

# Option HSO device
TargetClass=0xff
MessageContent="55534243785634120100000080000601000000000000000000000000000000"
NoDriverLoading=1

조사

(내가 질문자이고 내 자신의 질문에 대답하고 있다는 점에 유의하시기 바랍니다. 간략한 설명을 제외하고 답변은 실제로 이야기의 연속입니다.)

이 설명은 올바른 것 같습니다. usb_modeswitch해야 할 것보다 적게 일하십시오.

도구가 내 장치( 0af0:7301파일 없음 /etc/usb_modeswitch.d/)에서 수행하려는 작업이 무엇인지 이해하기 위해 를 찾아보았습니다 apt-file show usb-modeswitch-data. 라인 중 하나가 유망 해 보입니다.

/usr/share/usb_modeswitch/configPack.tar.gz

예, 이 파일에는 다음을 vendorID:productID포함하여 이름이 인 많은 파일이 포함되어 있습니다 0af0:7301.

# Option HSO device
TargetClass=0xff
OptionMode=1

추측하다(질문에서) 수동으로 시도한 옵션을 지정합니다.

usb_modeswitch -v 0x0af0 -p 0x7301 --option-mode -C 0xff

과거에는 하드웨어가 작동했기 때문에 그 당시에는 문서가 달랐던 것 같습니다. 나는 이(또는) 오래된 파일을 찾기로 결정했습니다.

내 주요 항목 /etc/apt/sources.list은 다음과 같습니다

deb http://pl.archive.ubuntu.com/ubuntu/ bionic main restricted

( pl나는 폴란드 사람이기 때문에). 내 의도는 usb-modeswitch-data어딘가에서 나이가 많은 사람들을 찾는 것이 었습니다 pl.archive.ubuntu.com. 몇번의 검색 끝에 다음 주소를 찾았습니다.

ftp://pl.archive.ubuntu.com/ubuntu/pool/main/u/usb-modeswitch-data/

이 파일을 다운로드했습니다.

ftp://pl.archive.ubuntu.com/ubuntu/pool/main/u/usb-modeswitch-data/usb-modeswitch-data_20151101.orig.tar.bz2

압축을 푼 후 0af0:7301.0af0:7301/usr/share/usb_modeswitch/configPack.tar.gz


해결책

발견된 파일의 내용은 다음과 같습니다.

# Option HSO device
TargetClass=0xff
MessageContent="55534243785634120100000080000601000000000000000000000000000000"
NoDriverLoading=1

파일을 에 복사하고 /etc/usb_modeswitch.d/장치를 제거했다가 다시 삽입했습니다. 그런 다음 usb-devices나에게 다음과 같은 결과를 제공했습니다.

T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 10 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=0af0 ProdID=7301 Rev=00.00
S:  Manufacturer=Option N.V.
S:  Product=Globetrotter HSUPA Modem
C:  #Ifs=11 Cfg#= 1 Atr=c0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)
I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
I:  If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
I:  If#= 7 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
I:  If#= 8 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:  If#= 9 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso

장치가 모뎀으로 인식되고 이전 네트워크 설정이 부팅을 시도합니다. 하지만 모뎀을 연결할 수 없습니다. 운영 체제를 다시 시작한 후 상황은 다음과 같습니다.

T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#=  4 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=0af0 ProdID=7301 Rev=00.00
S:  Manufacturer=Option N.V.
S:  Product=Globetrotter HSUPA Modem
C:  #Ifs=11 Cfg#= 1 Atr=c0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)
I:  If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
I:  If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
I:  If#= 7 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso
I:  If#= 8 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#= 9 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso

그리고그 다음에작동하기 시작했습니다. option다시 시작하기 전에 드라이버에 문제가 있습니까? 나는 모른다. 그럼에도 불구하고 이제 장치가 작동 hso하며 이것이 현재의 올바른 드라이버인 것 같습니다.


최종 메모

  • --option-mode모든 장치에서 사용할 수 있는 옵션이 실제로 내 장치의 모드를 전환하지 않는 것 같습니다 . 올바른 메시지를 명확하게 지정하는 것이 중요해 보입니다.

  • 이 답변은 해당 장치를 사용하여 게시되었습니다.

관련 정보