Как «поговорить» с USB-модемом в Linux?

Синергия - хорошая программа, разработанная для чего-то похожего на то, что вы хотите, у нее есть интуитивно понятный графический интерфейс.

Вы не сможете перетаскивать окна между дисплеями, поскольку, поскольку он не использует подчиненную ОС как другое устройство отображения, но просто отправляет туда вход клавиатуры / мыши.

1
задан 25 September 2012 в 19:26

5 ответов

Вы можете использовать cu.

$ sudo apt-get install cu

Вы можете подключиться к вашему модему с помощью:

$ cu -l ttyACM0

(с: ttyACM0, являющимся устройством / dev / ttyACM0). Вы должны получить ответ:

connected

На этом этапе вы можете использовать любую из стандартных AT-команд, например, для проверки набора:

ATDT 123-456-7890

Вы должны указать свой идентификатор пользователя на групповой доступ для доступа к модему.

Вы можете выйти из приложения cu с помощью «~.». (tilde dot).

Вы можете найти другие команды Hayese:

http://en.wikipedia.org/wiki/Hayes_command_set

4
ответ дан 25 May 2018 в 06:10

Я считаю, что ответ, который вы ищете, здесь: Использование USB winmodem с драйвером Conexant в (K) Ubuntu 11.10 (Oneiric).

Важные материалы (извлеченные с сайта): [ ! d2]

Когда я подключил модем Conexant, я выполнил

lsusb

, и он сказал:

[...]

Bus 006 Device 002: ID 0572:1300 Conexant Systems (Rockwell), Inc. SoftK56 Data Fax Voice CARP
[d7 ] [...]

, поэтому я знал, что система HSF была распознана системой.

Поскольку у меня было предыдущее подключение к Интернету, я обновил систему

[ f3]

Я проверил, что у меня не было установленных драйверов Conexant. Например: я выполнил

ls /usr/sbin/hsfconfig

и сказал, что этого файла не существует; если бы он существовал, я бы подумал, что что-то все еще установлено.

Я убедился, что у меня есть «gcc» и «make» ready, выполняя

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

else, если у меня была 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

else, если у меня была 32-разрядная операционная система, которую я выполнил

wget http://www.linuxant.com/drivers/hsf/full/archive/hsfmodem-7.80.02.06full/hsfmodem-7.80.02.06full.tar.gz

Замечание для любопытных: этот файл был самым новым в Использование USB winmodem с драйвером Conexant в ( K) Ubuntu 11.10 (Oneiric)

И тогда, если бы у меня была 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/

else, если бы у меня была 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

else, если бы у меня было 32-битное ope Я выполнил

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. Если бы у меня была 64-разрядная операционная система, я выполнил

cd hsfmodem-7.80.02.06x86_64full
xdg-open modules/GPL/serial_cnxt.c

else, если бы у меня была 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 / osservices.c

В этом файле я искал строку [ ! d58]

static spinlock_t dcp_lock = SPIN_LOCK_UNLOCKED;

заменив его на

static DEFINE_SPINLOCK(dcp_lock);

, и я сохранил и закрыл этот файл.

Я выполнил

xdg-open модули /osdiag.c

Я выполнил

static spinlock_t diag_lock = SPIN_LOCK_UNLOCKED;

В этом файле я искал строку

static DEFINE_SPINLOCK(diag_lock);

, заменив ее на

[d68 ]

Я выполнил

xdg-open modules / osdiag.c

, и я сохранил и закрыл этот файл.

static spinlock_t fpstates_lock __attribute__((unused)) = SPIN_LOCK_UNLOCKED;

xdg-open modules / osfloat.c

static DEFINE_SPINLOCK(fpstates_lock);

В этом файле я искал строку

xdg-open modules / osdiag.c

xdg- открытый модуль es / osservices.c

заменил его на

static spinlock_t atomic_lock __attribute__((unused)) = SPIN_LOCK_UNLOCKED;

, и я сохранил и закрыл этот файл.

static DEFINE_SPINLOCK(atomic_lock);

Я выполнил

xdg-open modules / osdiag.c

xdg-open modules / osservices.c

В этом файле я искал строку [!d79 ]

static spinlock_t tqueue_lock __attribute__((unused)) = SPIN_LOCK_UNLOCKED;

заменил его на

static DEFINE_SPINLOCK(tqueue_lock);

, и я сохранил и закрыл этот файл.

В этом файле я искал строку

sudo make install
sudo hsfconfig

, заменив его на

, и я сохранил и закрыл этот файл.

The /dev/modem alias (symlink) points to ttySHSF0

Наконец ... Если выполнено

dmesg

Где находится каталог сборки источника Linux, который соответствует вашему запущенному ядру? », Затем я просто нажал клавишу возврата, чтобы принять ответ по умолчанию. Я также принял ответ по умолчанию в других вопросах.

[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

Наконец команда сообщила, что

я выполнил

, и в конце я увидел [!d93 ]

1
ответ дан 25 May 2018 в 06:10

Используйте minicom, socat или screen:

socat - /dev/ttyUSB1 
minicom -D /dev/ttyUSB1
screen /dev/ttyUSB1

ПРИМЕЧАНИЕ. Я использовал имя реального устройства /dev/ttyUSB1 вместо подделки /dev/usbDev.

1
ответ дан 25 May 2018 в 06:10
Убедитесь, что ваш USB-модем правильно вставлен в любой доступный USB-порт вашего компьютера Ubuntu. Щелкните значок сети и выберите Edit connections. Это запустит Ubuntu для управления сетью. Выберите имя USB-модема из списка доступных подключений, затем нажмите Properties. Нажмите Enable this Connection, чтобы сообщить Ubuntu, что вы хотите использовать это устройство для подключения к интернет-сетям. Нажмите OK.. Теперь ваш USB-модем будет правильно подключен и настроен в Ubuntu, и теперь вы можете использовать его для подключения к Интернету.

Источник учебника здесь

0
ответ дан 25 May 2018 в 06:10

Есть два программного обеспечения, которое я знаю о том, что вы можете использовать для отправки команд AT (Attention) на ваш модем, один из терминалов последовательного порта, а другой - Cutecom.

0
ответ дан 25 May 2018 в 06:10

Другие вопросы по тегам:

Похожие вопросы: