개인적으로 집에 인터넷을 따로 신청해서 살고 있지 않아 휴대폰 테더링을 통해 인터넷을 사용하곤 했습니다.
평소 인터넷 사용량이 많은 편이 아니라서 통신사의 휴대폰 쉐어링 용량으로도 충분히 버틸 수준이었습니다.
하지만, 매번 휴대폰을 연결하는것도 번거롭고 전화를 받거나 하는 때엔 케이블을 연결한 채로 전화를 받는게 여간 불편한게 아니다 보니 다른 대책을 강구해야 하는 상황이었습니다.
그렇다고 유선 인터넷을 신청하자니 뭔가 돈이 아깝다는 생가만 드는 찰나에...
"그래! LTE 모뎀을 직접 컴퓨터에 연결하여 쓰자" 라는 생각이 들더라구요.
그래서 알리익스프레스를 통해 적당한 제품을 찾다 "Quectel RM510Q" 라는 제품을 구매하게 되었습니다.
저 모뎀이 M.2 커넥터의 B Type을 이용하는데, 일반 SSD슬롯에 꽂아다가는 당연히 사용이 불가능하고
M.2 B Type을 지원하는 메인보드(보통 산업/ IoT용 메인보드) 혹은 어댑터(USB To WWAN M.2 B Type)를 사용해서 연결해야 합니다.
실제로 모뎀을 컴퓨터에 연결하고 장치 관리자에서 모뎀을 선택하면 다음 사진과 같이 보여집니다. (드라이버를 설치한 후의 모습입니다)
AT Port는 AT Command를 이용하여 모뎀을 제어할 때,
NMEA Port는 GPS 관련 조작을 할 때,
Modem은 PPP 통신시,
DM Port는 자세히는 모르겠으나 보통 모뎀 펌웨어를 업데이트 할 때 사용하는 것 같습니다.
기본적으로 모뎀은 NDIS 프로토콜을 이용해서 통신을 하나, 사용 환경에 따라 MBIM, RNDIS, PPP와 같은 것으로 설정이 가능한 것 같습니다.
저 같은 경우엔 다른 컴퓨터에 연결할 때 드라이버 설치 없이 사용이 가능하게끔 USB MBIM 모드로 설정하여 사용하고 있습니다.
하여간, 모뎀이 정상적으로 설치되고, 5G가 정상적으로 인식이 된다면 다음 이미지와 같이 표시됩니다.
IP할당의 경우 사설 IP로 잡히더라구요.
아무쪼록 모뎀이 정상적으로 인식이 잘 되었으니 이제 속도체크를 해봅니다.
다행히도 집에 5G가 잘 잡히며, 속도 또한 잘 나옵니다.
다만, 업로드 속도는 다운로드 속도에 비해 상당히 느린 편이긴 하나, 일상 사용에는 크게 지장이 없는 수준인 것 같네요.
자, 이제 일반적인 사용기는 여기까지고 좀 더 깊게 들어가보겠습니다.
AT Command를 이용해서 현재 기지국과의 연결 상태 및 인접 기지국에 대한 정보를 볼 수 있습니다.
기지국과 통신하는 LTE/5G 채널을 임의로 선택할 수 있으며, 심지어는 5G가 사용이 가능한 환경임에도 불구하고 강제로 LTE로 전환시키는 것 또한 가능합니다.
맨 아래에 있는 AT+QNWPREFCFG= "mode_pref",LTE 명령어를 인식시킨 결과는 다음과 같습니다.
참고로 씽크패드 5G 모뎀이 있으신 것을 쓰시는 분들에게 소소한 팁을 드리자면..
MbnSms(Mobile Broadband SMS Toolkit) 라는 툴을 이용하여 네트워크 강제로 5G가 아닌 LTE나 3G로 고정시킬 수 있으니 참고바랍니다. 구글에 검색하시면 다운받으실 수 있습니다.
또한, 일반적으로 윈도우 상에서는 제어가 불가능한 멀티 PDP(Packet Data Protocol) 생성도 가능합니다.
(사실 이 또한 윈도우 상에서는 프로그램을 이용해 임의로 제어가 가능한 것 같습니다. 자세한 것은 https://learn.microsoft.com/en-us/windows-hardware/drivers/mobilebroadband/developing-apps-using-multiple-pdp-contexts 링크를 참조)
각 다른 APN에 대해 PDP를 생성한 모습입니다.
1~4번 PDP는 등록은 되어있으나, 비활성화 상태인 모습이며,
5번은 "lte.sktelecom.com" APN에 대한 PDP (윈도우10 인터넷과 프로비저닝 됨)이고,
6, 7번에 대해서는 임의로 추가한 APN "lte-internet.sktelecom.com"에 대한 PDP입니다.
각 PDP Context를 이용해서 IP를 조회하는 사이트에 접속을 시도해봅시다.
참고로 IP 확인에 사용된 URL은 "http://api64.ipify.org/?format=json" 입니다.
각 PDP Context마다 아이피가 모두 다르게 찍히는 것을 확인할 수 있습니다.
통신사에서는 저렇게 PDP를 구분하여 휴대폰용 데이터, 데이터 쉐어링용 데이터를 구분할 수 있으며, 각 PDP에 따라 통신 요금을 다르게 설정하는 것 또한 가능합니다.
아무쪼록 제가 준비한 부분은 여기까지이며, 간단히 가지고 놀다 보면서 느껴지는 점이 있다면...
괜히 씽크패드나 HP, Dell 노트북에 들어있는 LTE모뎀(예; Fibocom L850-GL)들이 시리얼 통신을 막아놓는게 아니구나 라는게 느껴지네요. 악용의 가능성이 만무하다보니..
그리고 일부 모뎀들은 설정만 잘 하면 전화 또한 가능하다보니...단순히 사용자 측면을 넘어 엔지니어가 접근가능한 영역까지 와 보니 재밌는 기능들이 많은 것 같습니다.
다만, 여러 기능들을 너무 막무가내로 시도하거나 악용?하면 통신사에서 언제든 어뷰징으로 제재가 될 수 있으니 주의하셔야 할 것 같습니다.
P.S. 혹여나 여러 PDP Context 생성한 모습을 보고 "저걸 이용해서 아이피 세탁용 프록시 내지는 게이트웨이를 만들면 되겠구나" 하시는 분이 있을 것 같은데(특히, PDP Context 리셋해서 아이피 바꾸는...), 통신사에서 차단당하기 참으로 좋은 행위이니...하시면 안됩니다.