Linux(Ubuntu 12.04)でlsusb
として識別されるUSBモデムがあります
Bus 001 Device 003: ID 0572:1329 Conexant Systems (Rockwell), Inc.
そのデバイスと通信する方法(たとえば、マイクロコムなど?)どのdev
デバイスを使用する必要がありますか? /dev/ttyUSBXXX
はなく、/dev/ttyACM0
は1つだけです。
トークで、ATコマンドを次の形式で送信することを意味する場合
echo "ATI" > /dev/usbDev
これを試してください: http://brunomgalmeida.wordpress.com/2012/04/06/send-at-commands-to-usb-modem/
Cuを使用できます。
$ Sudo apt-get install cu
次の方法でモデムに接続できます。
$ cu -l ttyACM0
(with:デバイス/ dev/ttyACM0であるttyACM0)応答が返されるはずです:
connected
この時点で、ダイヤルをテストするなど、標準のATコマンドを使用できます。
ATDT 123-456-7890
モデムへのアクセス許可を得るには、グループIDにユーザーIDを設定する必要があります。
「〜」でcuアプリケーションを終了できます。 (チルダドット)。
他のHayeseコマンドは次の場所にあります。
minicom
、socat
、またはscreen
を使用します。
socat - /dev/ttyUSB1
minicom -D /dev/ttyUSB1
screen /dev/ttyUSB1
注:偽の/dev/ttyUSB1
ではなく、実際のデバイス名/dev/usbDev
を使用しました。
あなたが探している答えはここにあると信じています: (K)Ubuntu 11.10(Oneiric)のConexantドライバーでUSB winmodemを使用する 。
重要なもの(サイトから抽出):
Conexantモデムを接続したときに、実行しました
lsusb
そしてそれは言った:
[...]
Bus 006 Device 002: ID 0572:1300 Conexant Systems (Rockwell), Inc. SoftK56 Data Fax Voice CARP
[...]
そのため、HSFモデムがシステムによって認識されることを知っていました。
以前にインターネットに接続したことがあるので、システムをアップグレードしました
Sudo apt-get update && Sudo apt-get dist-upgrade
以前のConexantドライバーがインストールされていないことを確認しました。例:実行した
ls /usr/sbin/hsfconfig
そして、そのファイルは存在しないと言っていました。もし存在すれば、何かがまだインストールされていると思いました。
「gcc」と「make」の準備ができていることを確認し、実行しました
Sudo apt-get install gcc make
次に、そこに記載されている手順を実行しました。
Sudo -s
cd /lib/modules/$(uname -r)/build/include/linux
ln -s ../generated/utsrelease.h
ln -s ../generated/autoconf.h
exit
ドライバーのコンパイル用にファイルを準備し、実行しました
mkdir ~/conexant_modem
cd ~/conexant_modem
そして、64ビットのオペレーティングシステムを使用していた場合、私は実行しました
wget http://linux.Dell.com/files/ubuntu/hardy/modem-drivers/hsf/hsfmodem-7.68.00.09x86_64oem.tar.gz
tar xzf hsfmodem-7.68.00.09x86_64oem.tar.gz
wget http://www.bargweb.net/images/2009/november/hsfmodem-7.80.02.05-DiacoEdition.Zip
unzip hsfmodem-7.80.02.05-DiacoEdition.Zip
cp -a hsfmodem-7.80.02.05-DiacoEdition/modules/imported/include/framewrk.h hsfmodem-7.68.00.09x86_64oem/modules/imported/include/framewrk.h
cp -a hsfmodem-7.80.02.05-DiacoEdition/modules/imported/include/osservices.h hsfmodem-7.68.00.09x86_64oem/modules/imported/include/osservices.h
それ以外の場合、32ビットオペレーティングシステムを使用していた場合は実行しました
wget http://linux.Dell.com/files/ubuntu/hardy/modem-drivers/hsf/hsfmodem-7.68.00.09oem.tar.gz
tar xzf hsfmodem-7.68.00.09oem.tar.gz
wget http://www.bargweb.net/images/2009/november/hsfmodem-7.80.02.05-DiacoEdition.Zip
unzip hsfmodem-7.80.02.05-DiacoEdition.Zip
cp -a hsfmodem-7.80.02.05-DiacoEdition/modules/imported/include/framewrk.h hsfmodem-7.68.00.09oem/modules/imported/include/framewrk.h
cp -a hsfmodem-7.80.02.05-DiacoEdition/modules/imported/include/osservices.h hsfmodem-7.68.00.09oem/modules/imported/include/osservices.h
A note for the curious ones: those "framewrk.h" and "osservices.h" files were the different ones between the directories "hsfmodem-7.68.00.09oem/modules/imported" and "hsfmodem-7.80.02.05-DiacoEdition/modules/imported".
64ビットオペレーティングシステムを使用していた場合
wget http://www.linuxant.com/drivers/hsf/full/archive/hsfmodem-7.80.02.06x86_64full/hsfmodem-7.80.02.06x86_64full.tar.gz
それ以外の場合、32ビットオペレーティングシステムを使用していた場合は実行しました
wget http://www.linuxant.com/drivers/hsf/full/archive/hsfmodem-7.80.02.06full/hsfmodem-7.80.02.06full.tar.gz
好奇心の強い人への注意:そのファイルは http://www.linuxant.com/drivers/hsf/full/downloads.php の最新のものでした
そして、64ビットのオペレーティングシステムがあれば、私は実行しました
tar xzf hsfmodem-7.80.02.06x86_64full.tar.gz
rm -r hsfmodem-7.80.02.06x86_64full/modules/imported
cp -R hsfmodem-7.68.00.09x86_64oem/modules/imported hsfmodem-7.80.02.06x86_64full/modules/
cp -R hsfmodem-7.68.00.09x86_64oem/modules/imported hsfmodem-7.80.02.06x86_64full/modules/
それ以外の場合、32ビットオペレーティングシステムを使用していた場合は実行しました
tar xzf hsfmodem-7.80.02.06full.tar.gz
rm -r hsfmodem-7.80.02.06full/modules/imported
cp -R hsfmodem-7.68.00.09oem/modules/imported hsfmodem-7.80.02.06full/modules/
cp -R hsfmodem-7.68.00.09oem/modules/imported hsfmodem-7.80.02.06full/modules/
次のステップは、現在のディレクトリをきれいにすることでした。
64ビットオペレーティングシステムを使用していた場合
rm -rf hsfmodem-7.68.00.09x86_64oem
rm -rf hsfmodem-7.80.02.05-DiacoEdition
rm hsfmodem-7.68.00.09x86_64oem.tar.gz
rm hsfmodem-7.80.02.05-DiacoEdition.Zip
rm hsfmodem-7.80.02.06x86_64full.tar.gz
それ以外の場合、32ビットオペレーティングシステムを使用していた場合は実行しました
rm -rf hsfmodem-7.68.00.09oem
rm -rf hsfmodem-7.80.02.05-DiacoEdition
rm hsfmodem-7.68.00.09oem.tar.gz
rm hsfmodem-7.80.02.05-DiacoEdition.Zip
rm hsfmodem-7.80.02.06full.tar.gz
その後、3.0.0バージョンのLinuxカーネルで動作するようにファイルを変更する必要がありました。 64ビットオペレーティングシステムを使用していた場合
cd hsfmodem-7.80.02.06x86_64full
xdg-open modules/GPL/serial_cnxt.c
それ以外の場合、32ビットオペレーティングシステムを使用していた場合は実行しました
cd hsfmodem-7.80.02.06full
xdg-open modules/GPL/serial_cnxt.c
その後、テキストエディタが起動しました。文字列を検索しました
#ifndef FOUND_UART_REGISTER_PORT
以下の文字列を見つけました
static DECLARE_MUTEX(cnxt_port_sem);
最後の文字列を削除して、そこに書きました
static DEFINE_SEMAPHORE(cnxt_port_sem);
そのファイルを保存して閉じました。実行しました
xdg-open modules/osdiag.c
その後、テキストエディタが起動しました。文字列を検索しました
THIS_MODULE,
以下の文字列を見つけました
.ioctl = diag_ioctl,
その文字列を削除して、そこに書きました
.compat_ioctl = diag_ioctl,
そのファイルを保存して閉じました。実行しました
xdg-open modules/osnvm.c
その後、テキストエディタが起動しました。文字列を検索しました
static LIST_HEAD(nvm_newinst_list);
以下の文字列を見つけました
static DECLARE_MUTEX(nvmelem_writelist_sem);
最後の文字列を削除して、そこに書きました
static DEFINE_SEMAPHORE(nvmelem_writelist_sem);
そのファイルを保存して閉じました。
奇妙なことに注意してください:これらのファイルの変更のソースは http://www.openmamba.org/showfile.ht...l-2.6.37.patch でした
Chiasethというユーザーは、私が従った手順を次のように伝えるのを助けてくれました。
実行しました
xdg-open modules/osservices.c
その後、テキストエディタが起動しました。文字列を検索しました
#include <linux/smp_lock.h>
そして、私はその文字列を削除し、そこに書いた
#include <linux/mutex.h>
DEFINE_MUTEX(os_mutex); // Define a mutex
そのファイルで文字列を検索しました
unlock_kernel()
それらをすべて置き換えます
mutex_unlock(&os_mutex)
また、そのファイルで文字列を検索しました
lock_kernel()
それらをすべて置き換えます
mutex_lock(&os_mutex)
そのファイルを保存して閉じました。
実行しました
xdg-open modules/osdcp.c
そのファイルで文字列を検索しました
static spinlock_t dcp_lock = SPIN_LOCK_UNLOCKED;
で置き換える
static DEFINE_SPINLOCK(dcp_lock);
そのファイルを保存して閉じました。
実行しました
xdg-open modules/osdiag.c
そのファイルで文字列を検索しました
static spinlock_t diag_lock = SPIN_LOCK_UNLOCKED;
で置き換える
static DEFINE_SPINLOCK(diag_lock);
そのファイルを保存して閉じました。
実行しました
xdg-open modules/osfloat.c
そのファイルで文字列を検索しました
static spinlock_t fpstates_lock __attribute__((unused)) = SPIN_LOCK_UNLOCKED;
で置き換える
static DEFINE_SPINLOCK(fpstates_lock);
そのファイルを保存して閉じました。
実行しました
xdg-open modules/osservices.c
そのファイルで文字列を検索しました
static spinlock_t atomic_lock __attribute__((unused)) = SPIN_LOCK_UNLOCKED;
で置き換える
static DEFINE_SPINLOCK(atomic_lock);
そのファイルを保存して閉じました。
実行しました
xdg-open modules/GPL/oscompat.h
そのファイルで文字列を検索しました
static spinlock_t tqueue_lock __attribute__((unused)) = SPIN_LOCK_UNLOCKED;
で置き換える
static DEFINE_SPINLOCK(tqueue_lock);
そのファイルを保存して閉じました。
最後に...実行された場合
Sudo make install
Sudo hsfconfig
「実行中のカーネルに一致するlinuxソースビルドディレクトリはどこですか?」と尋ねた後、リターンキーを押してデフォルトの回答を受け入れました。他の質問でもデフォルトの回答を受け入れました。
最後に、コマンドはそれを報告しました
The /dev/modem alias (symlink) points to ttySHSF0
実行しました
dmesg
そして最後に私は見た
[59190.782005] hsfengine: module license 'see LICENSE file distributed with driver' taints kernel.
[59190.782011] Disabling lock debugging due to kernel taint
[59192.564398] ttySHSF0 at MMIO 0x0 (irq = 0) is a Conexant HSF softmodem (USB-0572:1300)
[59192.600274] usbcore: registered new interface driver hsfusbcd2
[59194.416241] usbcore: deregistering interface driver hsfusbcd2
[59194.600064] usb 6-1: reset full speed USB device using uhci_hcd and address 2
[59194.811746] cnxthsf_DcpDestroy: units still active, waiting..
[59194.811764] cnxthsf_DcpDestroy: units still active, waiting..
[59194.811778] cnxthsf_DcpDestroy: units still active, waiting..
[59196.967466] ttySHSF0 at MMIO 0x0 (irq = 0) is a Conexant HSF softmodem (USB-0572:1300)
[59196.994150] usbcore: registered new interface driver hsfusbcd2
これは、とりわけ、USBモデムが/dev/ttySHSF0
で検出されたことを意味します。
注: https://help.ubuntu.com/community/Di...Howto/Conexant :「ソースツリーを削除または移動しないでください[この場合:〜/ conexant_modem ]これらの手順の後、システムから、ドライバーをアンインストールしてパッチを適用する必要があります。」
kppp
(たとえば)を起動し、モデムが/dev/ttySHSF0
にあることを指定して、新しい「接続」を構成しました。 efax-gtk
などのプログラムを使用して、モデム経由でFAXを送信することもできます。
AT(アテンション)コマンドをモデムに送信するために使用できる2つのソフトウェアがあります。1つはシリアルポート端末で、もう1つはCutecomです。
USBモデムがUbuntuコンピューターの利用可能なUSBポートに適切に挿入されていることを確認します。
ネットワークアイコンをクリックし、Edit connections
を選択します。これにより、Ubuntuのネットワーク管理ユーティリティが起動します。
利用可能な接続のリストからUSBモデムの名前を選択し、Properties.
をクリックします
Enable this Connection
をクリックして、このデバイスを使用してインターネットネットワークに接続することをUbuntuに伝えます。
OK.
をクリックします。これで、USBモデムがUbuntuに適切に接続され、Ubuntuで設定され、これを使用してインターネットに接続できるようになります。
チュートリアルのソース こちら