「USB 3G モデム」の版間の差分
Kusakata.bot2 (トーク | 投稿記録) (Pkg/AUR テンプレートの更新) |
(→Network Manager: セクション名を修正) |
||
42行目: | 42行目: | ||
==接続== |
==接続== |
||
− | === |
+ | === NetworkManager === |
{{Pkg|usbutils}} と {{Pkg|usb_modeswitch}} をインストールしてから、[[NetworkManager]] でモデムを動作させるために {{Pkg|modemmanager}} をインストールしてください。 |
{{Pkg|usbutils}} と {{Pkg|usb_modeswitch}} をインストールしてから、[[NetworkManager]] でモデムを動作させるために {{Pkg|modemmanager}} をインストールしてください。 |
2023年8月18日 (金) 11:03時点における最新版
世界には多数の携帯電話ネットワークが存在し、ポータブルな USB モデムデバイスによる UMTS (または EDGE や GSM) のモバイルインターネット接続を提供しています。
目次
PIN の削除
まず最初に、通常の携帯の SIM カードを使って PIN が存在する場合は無効化してください。SIM カードが PIN を要求する場合、wvdial は動作しません。
PIN が削除できない場合、mmcli を使うことで SIM カードのロックを解除できます:
# mmcli -i SIMNUMBER --pin=XXXX
SIMNUMBER に指定する文字列は mmcli -L
や mmcli -m X
で確認できます。
デバイスの識別
次のコマンドの出力を確認してください:
$ lsusb
デバイスのベンダー・プロダクト ID が表示されます。デバイスによっては2つのプロダクト ID が表示されることがあります。下を参照。
モードスイッチング
携帯端末には2つのモードが存在します (1) USB フラッシュメモリストレージ (2) USB モデム。(ZeroCD とも呼ばれる) 1番目のモードは、他のオペレーティングシステムにインターネット通信プログラムを手渡すのに使われます。基本的には Linux ユーザーの関心を引くようなものではありません。さらに、端末によってはフラッシュメモリカードを追加することができる差し入れ口が付いていることもあります。
携帯端末をモデムモードに切り替えるユーティリティは usb_modeswitch です。公式リポジトリからインストールできます。
このパッケージには Udev ルールが入っています: /lib/udev/rules.d/40-usb_modeswitch.rules
。このルールには多数の端末のエントリが含まれており、それによって端末を接続したときにモデムモードに切り替わります。
モードが切り替わると、プロダクト ID が別の値に変化してしまうことがあります。ベンダー ID は変化しません。これは lsusb
の出力で確認できます。
"option" という名前の USB シリアルカーネルモジュールによってサポートされているデバイス (大抵は Option の携帯電話ですが、それ以外も多少サポートしています) もあり、usb_modeswitch をインストールしなくても使うことができます。
Udev 自体にも以前は /lib/udev/modem-modeswitch
というユーティリティが含まれていました。udev 157 で、このユーティリティは /lib/udev/mobile-action-modeswitch
に名前が変更され Mobile Action のケーブルを切り替えるためだけのツールに姿形を変えました。その他の端末については usb_modeswitch
を使うようにしてください。
接続
NetworkManager
usbutils と usb_modeswitch をインストールしてから、NetworkManager でモデムを動作させるために modemmanager をインストールしてください。
NetworkManager と ModemManager サービス両方を起動してください。詳しくは systemd#ユニットを使う を参照。
mobile-broadband-provider-info と nm-connection-editor をインストールしてください。
ModemManager に USB モデムを検出させるにはシステムの再起動が必要です。NetworkManager アプレットを再起動してから、モデムを一度抜いて再度接続すれば NetworkManager はメニューでモデムを認識します。特殊な設定は必要ありません。NetworkManager でのモデムの設定は手順通りにすれば問題ありません。必要なのはネットワークプロバイダからもらえるログイン情報だけです。
ModemManager の実行中は gammu は動作しません。SMS や Ussd コードは modem-manager-gui で使うことができます。
pppd
pppd を使って 3G 接続の設定ができます。詳しくは pppd による 3G と GPRS モデムを見てください。pppconfigAUR を利用してダイアログインターフェイスで簡単に pppd の設定を行うこともできます。
wvdial
次の記事を参照: wvdial
netctl
Netctl を使って USB モデムで接続を確立することもできます。netctl は /etc/netctl/examples/mobile_ppp
にサンプル設定ファイルを用意しています。
詳しい情報は netctl を見て下さい。
最低でも以下の項目を設定する必要があります:
/etc/netctl/mobile_ppp
Interface=cdc-wdmX Connection=mobile_ppp PhoneNumber=XxxxXXXX AccessPointName=Broadband
詳しくは netctl の記事や netctl.profile を見てください。
libmbim
公式リポジトリから libmbim をインストールしてください。mbim-network
を使うことでモデムを立ち上げられます。mmcli
を呼び出すためのラッパーです。まずは mbim-network のプロファイルを作成してください:
/etc/mbim-network.conf
APN=Broadband
そして以下のコマンドでネットワークに接続します:
# mbim-network /dev/cdc-wdmX start
それからインターフェイスを立ち上げて IP アドレスを取得してください:
# ip link set wwanY up # dhcpcd wwanY
sakis3g
モデムスティックが sakis3g によってサポートされている場合、オールインワンのコマンドラインスクリプトで上記の手順を全て自動化することができます。AUR から sakis3gAUR[リンク切れ: パッケージが存在しません] をインストールしてください。
通信速度が遅い
Windows に比べて Linux での通信速度がやけに遅いという報告があります: [1]。
完全な検証は取れていませんが、とりあえずの解決方法は以下の通りです。
ほとんどの場合、信号強度が弱いか同時接続人数が多すぎるのが、通信速度が遅い原因です。しかしながら、以下の方法を使って、通信速度を改善できる可能性があります。
QoS パラメータ
AT+CGEQMIN
と AT+CGEQREQ
コマンドを使うことで QoS を設定できます。通信速度を下げたり、制限することも可能です。/etc/wvdial.conf
に以下の Init
コマンドを追加してください:
Init6 = AT+CGEQMIN=1,4,64,640,64,640 Init7 = AT+CGEQREQ=1,4,64,640,64,640
Baud パラメータ
wvdial.conf
で Baud パラメータを使うことでも通信速度を上げることができます。
Baud = 460800
ただし Huawei E261 の公式 Windows アプリケーションでは Windows Vista で Baud=9600 に設定しています。要検証。
使用帯域幅を確認
移動体通信事業者によって提供される 3G 通信では帯域幅が制限されていることがしばしばです。その場合、時間あたりに使用できる帯域が限定されます (例: 1GB/月)。どのネットワークアプリケーションが帯域を多く消費しているかを知るのはとても簡単ですが (例: 動画のストリーミング、ゲーム、torrent など)、累積の使用帯域幅を記録するのは煩わしいかもしれません。
通信量の記録を助けてくれるツールというものが存在します。コンソールツールである、vnstat はこれまでの通信量の記録を付けることができ、iftop はセッションごとの通信量を監視します。KDE を使っている場合、knemoAUR が役に立つでしょう。どのツールも公式リポジトリからインストールできます。
SMS の読み取り
Acer Aspire AS3810TG ノートパソコンに接続した Huawei EM770W (GTM382E) 3g カードでテスト済みです。
$ pacman -S gnokii $ mkdir -p $XDG_CONFIG_HOME/gnokii
設定ディレクトリは ~/.config/gnokii
です。
$ cp /etc/gnokiirc ~/.config/gnokii/config
~/.config/gnokii/config
を以下のように編集:
port = /dev/ttyUSB0
設定によっては別のポートを使う必要があります。例えば /dev/ttyUSB1
など:
model = AT connection = serial
/dev/ttyUSB0
を使うにはユーザーを uucp
グループに追加する必要があります ("x" はユーザー名に置き換えて下さい):
# gpasswd -a x uucp $ newgrp uucp
newgrpコマンドを使うことで、一度ログアウトしなくてもすぐに新しいグループが適用されます。
gnokii を起動:
$ xgnokii
"SMS" アイコンボタンをクリックすると、ウィンドウが開きます。"messages->activate sms reading" をクリックしてください。メッセージがウィンドウに表示されます。
コマンドラインスクリプト
GUI を起動せずに gnokii を使って (携帯のメモリではなく) SIM カードから SMS を読みだすコマンドラインスクリプト:
$ gnokii --getsms SM 0 end 2>&1|grep Text -A1 -B3|grep -v Text
説明:
gnokii # invoke gnokii --getsms SM 0 end # read SMS from SM-memory location (=SIM card) starting at 0 and reading all occupied memory locations ("end") 2>&1 # connect STDERR to STDOUT to make sure the output from the --getsms command can be piped to grep |grep Text # pipe output from gnokii to grep, anchoring at output containing "Text" -A1 -B3 # print one line after the matched pattern and three lines before the matched pattern |grep -v Text # grep result to another grep to exclude the "Text" line (-v for inverting the pattern)
SMS に "Text" という単語が含まれていると上手く出力されません。お好きにスクリプトは修正してください。
画質
モバイルブロードバンド接続でウェブを閲覧すると画質が落とされ、"shift+r improves the quality of this image" や "shift+a improves the quality of all images on this page" といったヒントが表示される場合、以下の手順に従って下さい:
公式リポジトリから tinyproxy をインストールしてください。
/etc/tinyproxy/tinyproxy.conf
を編集して以下の2行を追加:
AddHeader "Pragma" "No-Cache" AddHeader "Cache-Control" "No-Cache"
tinyproxy を起動:
# systemctl start tinyproxy
プロキシサーバーとして localhost:8888 を使うようにブラウザを設定すれば完了です。Firefox ではなく、Google Chrome を使っている場合、Pragma や Cache-Control ヘッダが修正できないので特に有用です。