SORACOM Air SIM 카드 + FS01BU + Debian 7.5 (VirtualBox/Vagrant)

11141 단어 SORACOMVagrant

개요



SORACOM Air SIM 카드를 USB 모뎀 FS01BU를 사용하여 통신합니다. 검증 환경의 구축을 겸해 Vagrant로 구축한 Debian상에서 작업을 실시합니다. 본고의 대부분은 이미 다른 분들이 실현하고 있는 것을 참고로 한 것으로, 수중 환경에서 재현할 때까지의 작업 메모입니다.

호스트 OS: MacOS X 10.11
Vagrant: 1.7.4
VirtualBox: 5.0.6r103037 with Extension Pack
※ VirtualBox에 설치하는 OS는 Hashicorp Atlas에서 취득

절차



Vagrant/VirtualBox 설치



게스트 OS 측에서 USB를 사용하기 위해 VirtualBox에 Extension Pack 추가
htps //w w.ゔㅁ란츠 p. 코m/
htps //w w.ゃぃr 짠 l보 x. 오 rg / uuki / Down ぉ ds

Vagrant로 데비안 환경 구축


$ vagrant init puphpet/debian75-x64

VirtualBox에서 USB를 활성화하기 위해 Vagrant에 다음 설명 추가

Vagrantfile
config.vm.provider "virtualbox" do |vb|
  vb.customize ['modifyvm', :id, '--usb', 'on']
end

가상 환경 만들기
$ vagrant up --provider virtualbox
$ vagrant ssh

데비안 환경 설정


$ lsusb
-bash: lsusb: command not found

lsusb가 없으므로 usbutils 설치
$ sudo apt-get install usbutils
$ lsusb
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

아직 USB 모뎀을 연결하지 않았기 때문에 인식되지 않는 모습
VagrantBox 설정에서 USB 모뎀 추가



추가한 USB Modem을 더블 클릭하여 설정값을 확인



Vagrant에서 재부팅
$ vagrant reload

lsusb를 다시 실행하면 장치를 볼 수 있습니다.
$ lsusb
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 1c9e:98ff OMEGA TECHNOLOGY

여기서 제품 ID가 98ff이면 USB Modem으로 인식되지 않으므로 usb_modeswitch를 사용하여 설정 변경

usb_modeswitch 설치


$ apt-get install usb-modeswitch

(usb_modeswitch 명령은 설치되지 않기 때문에 소스에서 컴파일했지만, 최종적으로는 사용하지 않아도 되는 모습. 그러나 환경 의존 조건일지도 모른다)

tty 장치로 설정



Vagrant에서 다시 시작하고 VirtualBox 설정에서 USB Modem을 추가
제품 ID가 6801인지 확인



데비안에서 lsusb를 실행하여 Product ID가 6801인지 확인합니다. USB를 인식하지 못하면 호스트 OS 측의 마운트를 해제하거나 USB 포트에서 한 번 꺼내고 다시 연결
lsusb
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 1c9e:6801 OMEGA TECHNOLOGY

tty 장치 설정



(이하는 대체로 참고로 한 분들의 순서와 같습니다)
$ modprobe usbserial vendor=0x1c9e product=0x6801
$ ls -al /dev/ttyU*
crw-rw---T 1 root dialout 188, 0 Oct  6 02:46 /dev/ttyUSB0
crw-rw---T 1 root dialout 188, 1 Oct  6 02:46 /dev/ttyUSB1
crw-rw---T 1 root dialout 188, 2 Oct  6 02:46 /dev/ttyUSB2

wvdial로 통신


$ apt-get install wvdial

404 Not Found가 출력되면 apt-get update를 실행한 후 재설치

/etc/wvdial.conf 편집

/etc/wvdial.conf
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","soracom.io"
Dial Attempts = 3
Modem Type = Analog Modem
Dial Command = ATD
Stupid Mode = yes
Baud = 460800
New PPPD = yes
Modem = /dev/ttyUSB2
ISDN = 0
APN = soracom.io
Phone = *99***1#
Username = sora
Password = sora
Carrier Check = no
Auto DNS = 1
Check Def Route = 1

wvdial 실행
$ sudo wvdial
--> WvDial: Internet dialer version 1.61
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1,"IP","soracom.io"
AT+CGDCONT=1,"IP","soracom.io"
OK
--> Modem initialized.
--> Sending: ATD*99***1#
--> Waiting for carrier.
ATD*99***1#
CONNECT 14400000
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Tue Oct  6 02:54:09 2015
--> Pid of pppd: 5393
--> Using interface ppp0
--> pppd: �[7f]
--> pppd: �[7f]
--> pppd: �[7f]
--> pppd: �[7f]
--> pppd: �[7f]
--> pppd: �[7f]
--> local  IP address 10.211.142.198
--> pppd: �[7f]
--> remote IP address 10.64.64.64
--> pppd: �[7f]
--> primary   DNS address 169.254.0.53
--> pppd: �[7f]

ifconfig를 보면 ppp0이 추가되었습니다.
$ ifconfig
ppp0      Link encap:Point-to-Point Protocol
          inet addr:10.211.142.198  P-t-P:10.64.64.64  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:7 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:124 (124.0 B)  TX bytes:169 (169.0 B)

ppp0을 기본값으로 설정
$ route add default dev ppp0

콘솔을 별도로 시작하고 traceroute에서 작동 확인
$ traceroute google.com
traceroute to google.com (216.58.220.174), 30 hops max, 60 byte packets
 1  ec2-175-41-192-134.ap-northeast-1.compute.amazonaws.com (175.41.192.134)  116.654 ms ec2-175-41-192-128.ap-northeast-1.compute.amazonaws.com (175.41.192.128)  126.426 ms ec2-175-41-192-132.ap-northeast-1.compute.amazonaws.com (175.41.192.132)  127.928 ms
 2  27.0.0.172 (27.0.0.172)  137.003 ms 27.0.0.154 (27.0.0.154)  146.751 ms 27.0.0.172 (27.0.0.172)  166.521 ms
 3  27.0.0.154 (27.0.0.154)  156.830 ms 27.0.0.136 (27.0.0.136)  167.794 ms  176.028 ms
 4  15169.tyo.equinix.com (203.190.230.31)  186.205 ms 27.0.0.136 (27.0.0.136)  196.077 ms 15169.tyo.equinix.com (203.190.230.31)  206.633 ms
 5  72.14.239.202 (72.14.239.202)  216.972 ms  218.396 ms  226.533 ms
 6  72.14.239.202 (72.14.239.202)  236.539 ms 72.14.237.227 (72.14.237.227)  109.254 ms 72.14.239.202 (72.14.239.202)  240.481 ms
 7  72.14.237.227 (72.14.237.227)  241.910 ms nrt13s35-in-f14.1e100.net (216.58.220.174)  241.883 ms  241.874 ms

참고



선인의 기록 없이는 도달할 수 없었습니다. 고마워요!
ぃ tp // 이 m/오사다 9000/이고 ms/012962f6에 d92b501베 d5
ぃ tp // m / t / t / s / r / ms / bf3b0311 a 044 e f36df8
htps : // 기 st. 기주 b. 이 m/j3tm0t0/65367f971c3d770557f3
ht tp // //후고켄. 하테나 bぉg. 코m/엔트리/2015/10/04/211145

좋은 웹페이지 즐겨찾기