У меня есть USB-модем, который идентифицирован в Linux (Ubuntu 12.04) с lsusb
как
Bus 001 Device 003: ID 0572:1329 Conexant Systems (Rockwell), Inc.
Как разговаривать с этим устройством (например, с microcom и т. Д.?)? Какое dev
устройство мне следует использовать? Нет доступных /dev/ttyUSBXXX
и только один /dev/ttyACM0
.
Вы можете использовать cu.
$ sudo apt-get install cu
Вы можете подключиться к вашему модему с помощью:
$ cu -l ttyACM0
(где ttyACM0 - устройство / dev / ttyACM0). Вы должны получить ответ:
connected
На этом этапе вы можете использовать любую из стандартных AT-команд, например, для проверки набора номера:
ATDT 123-456-7890
У вас должен быть установлен идентификатор пользователя для группового набора для разрешения доступа к модему.
Вы можете выйти из приложения cu с помощью «~.» (точка тильды).
Другие команды Hayese можно найти по адресу:
Используйте minicom
, socat
или screen
:
socat - /dev/ttyUSB1
minicom -D /dev/ttyUSB1
screen /dev/ttyUSB1
ПРИМЕЧАНИЕ. Я использовал реальное имя устройства /dev/ttyUSB1
вместо фальшивого /dev/usbDev
.
Убедитесь, что ваш USB-модем правильно подключен к любому доступному USB-порту на вашем компьютере с Ubuntu.
Щелкните значок сети и выберите Edit connections
. Это запустит утилиту сетевого управления Ubuntu.
Выберите имя USB-модема из списка доступных подключений, затем нажмите Properties.
Нажмите Enable this Connection
, чтобы сообщить Ubuntu, что вы хотите использовать это устройство для подключения к интернет-сетям.
Нажмите OK.
. Теперь ваш USB-модем будет правильно подключен и настроен в Ubuntu, и теперь вы можете использовать его для подключения к Интернету.
Источник урока здесь
Существуют две программы, о которых я знаю, что вы можете использовать для отправки команд AT (Внимание) на ваш модем, одна из них - терминал последовательного порта, а другая - Cutecom.
Если под разговором вы подразумеваете отправку AT-команд в форме
echo "ATi" > /dev/usbDev
, попробуйте это: http://brunomgalmeida.wordpress.com/2012/04/06/send-at-commands -в-USB-модем /
Я верю ответу, который Вы ищете, здесь: Используя winmodem USB с драйвером Conexant в (K) (Сновещательной) Ubuntu 11.10.
Важный материал (извлеченный из сайта):
Когда я включил модем 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", и "сделайте" готовыми, выполнившись
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-открытый 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-открытый modules/osdcp.c
В том файле я искал строку
static spinlock_t dcp_lock = SPIN_LOCK_UNLOCKED;
замена его с
static DEFINE_SPINLOCK(dcp_lock);
и я сохранил и закрыл тот файл.
Я выполнился
xdg-открытый modules/osdiag.c
В том файле я искал строку
static spinlock_t diag_lock = SPIN_LOCK_UNLOCKED;
замена его с
static DEFINE_SPINLOCK(diag_lock);
и я сохранил и закрыл тот файл.
Я выполнился
xdg-открытый modules/osfloat.c
В том файле я искал строку
static spinlock_t fpstates_lock __attribute__((unused)) = SPIN_LOCK_UNLOCKED;
замена его с
static DEFINE_SPINLOCK(fpstates_lock);
и я сохранил и закрыл тот файл.
Я выполнился
xdg-открытый modules/osservices.c
В том файле я искал строку
static spinlock_t atomic_lock __attribute__((unused)) = SPIN_LOCK_UNLOCKED;
замена его с
static DEFINE_SPINLOCK(atomic_lock);
и я сохранил и закрыл тот файл.
Я выполнился
xdg-открытый 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, который соответствует Вашему рабочему ядру?", затем я просто нажал клавишу Return для принятия ответа по умолчанию. Я также принял ответ по умолчанию в других вопросах.
Наконец команда сообщила об этом
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... Практическое руководство/Conexant: "не удаляйте или перемещайте исходное дерево [в наш случай: ~/conexant_modem] от Вашей системы после этих шагов, это потребуется, чтобы удалять и исправлять драйвер".
Я запустился kppp
(например), и настроенный новое "соединение", указывая, что модем был в /dev/ttySHSF0
. Вы могли также использовать программу как efax-gtk
отправить факсы через модем.