Linux usb виртуальный ком порт

Настраиваем виртуальный компорт в Ubuntu

Удобно работать с виртуальной машиной XPSP3 в VirtualBox’е: когда надо включаешь её, когда не надо – выключаешь, всё очень быстро, и вирусы прочно экранируются. Но вот понадобилось внести изменения в отлаживаемую «виндовую» программу, работающую со старыми добрыми компортами. И тут обнаруживается: не работает компорт виртуальной машины. В ЛОРе нет хорошего ответа. Всё сводится к рекомендации создания новой машины, а это время. Западные пользователи на форумах тоже дают немало пустых советов. А на самом деле всё не так уж и сложно.

Сначала надо установить утилиту настройки аппаратного компорта хост-машины. Называется она setserial, в дистрибутивах Ubuntu её нет, но зато она есть в репозиториях, поэтому воспользуемся командой терминала:

sudo apt-get install setserial

И, конечно, запустим эту утилиту, чтобы посмотреть, присутствует ли на материнской плате, что собой представляет и как настроен аппаратный порт хозяйки (далее в примере исследуем COM1):

sudo setserial -g /dev/ttyS0

Учтите, что ttyS0 соответствует COM1, ttyS1 соответствует COM2 и т.д. согласно терминологии Линукса. Подставьте нужное. После ввода пароля суперпользователя в норме должен быть получен ответ:

/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4

Иначе компорт отсутствует или отключен на уровне BIOS’а хост-машины. Выключенный порт включаем. В случае отсутствия на материнской плате аппаратного компорта придётся поставить «костыль» из дополнительной PCI-платы расширения и добавить модуль его драйвера из прилагаемого к ней диска. Проверено: для Линукса драйверы раюотоспособны, но уточните номер появившегося компорта командой терминала

При необходимости параметры настройки коммуникационного порта можно откорректировать ( как именно – см. терминальной командой man setserial).

Настраиваем проключение виртуального COMn в аппаратный COMn, то бишь в файл ttySn+1. Для этого запускаем VirtualBox, НЕ ЗАПУСКАЯ ВИРТУАЛЬНУЮ МАШИНУ, и настраиваем параметры её компорта, как показано на этом скриншоте:

Здесь важно, чтобы номер порта, номер прерывания и адрес ввода-вывода совпадали бы с теми, которые проиндицировала утилита setserial. Если не совпадают, то утилита setserial поможет перенастроить параметры аппаратного компорта.

Но если вы сейчас попытаетесь запустить виртуальную машину, то с очень большой вероятностью получите ошибку. А всего-то надо сделать ещё две вещи.

Во-первых, вы, хотя и являетесь «главным администратором», не обязательно автоматически являетесь членом группы пользователей виртуальной машины. Удивительно? Но бывает нередко. Впрочем, эта нелепость устраняется легко. Чтобы не заморачиваться с CLI, установите с помощью эмулятора терминала великолепную утилиту gnome-system-tools (она есть в репозиториях) командой

sudo apt-get install gnome-system-tools

Данную утилиту рекомендую для многократного употребления, поэтому скопируйте из папки /usr/share/applications значок «Пользователи и группы» на рабочий стол и запустите эту утилиту из рабочего стола. Откроется окно «Параметры пользователей». Жмите кнопку «Управление группами», в открывшемся окне «Параметры групп» скроллингом отыщите группу vboxusers, выберите её и дважды щёлкните по ней. Откроется окно «Свойства группы vboxusers». Внутри панели «Члены группы» пометьте чекбокс напротив своего имени, отражающего вас, как пользователя системы.

Читайте также:  How to be good at linux

Во вторых, реальному порту следует присвоить права «666», что означает разрешение дуплексного обмена через компорт на уровнях владельца, членов его группы и остальных пользователей. Делается это командой

sudo chmod 666 /dev/ttyS0

Вместо ttyS0 подставьте обозначение нужного аппаратного компорта хост-машины. Вcё, теперь можно смело запускать виртуальную машину, включать привычный «виндовый» гипертерминал и с помощью виртуальной Windows настраивать модемы, управлять программаторами и т.д. Словом, делать всё то, как будто бы вы работали с реальной Windows XP или «семёркой». Успехов!

Источник

unixforum.org

Здравствуйте. такая проблема. есть контроллер с USB- он может работать как полноценное USB устройство .и как виртуальный ком-порт.
у него сейчас залита прошивка которая выдае в usb какие то цифры( скорость небольшая)-моя задача принять это. хотя бы просто увидеть что это работает. но я не знаю как сделать чтобы это железка виделась как виртуальный ком порт- чтобы с ним работать.
так по себе железка видна
lsusb
Bus 003 Device 004: ID 03eb:6124 Atmel Corp. at91sam SAMBA bootloader
.

sash-kan Администратор Сообщения: 13939 Статус: oel ngati kameie ОС: GNU Контактная информация:

Re: Виртуальный com порт

Сообщение sash-kan » 17.05.2009 15:03

Писать безграмотно — значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог

Re: Виртуальный com порт

Сообщение troll80 » 17.05.2009 16:07

root@siduxbox:/home/shuric# dmesg -c Initializing cgroup subsys cpuset Initializing cgroup subsys cpu Linux version 2.6.29-3.slh.1-sidux-686 (Debian 2.6.29-21) (s.l-h@gmx.de) (gcc version 4.3.3 (Debian 4.3.3-8) ) #1 SMP PREEMPT Sat May 9 00:39:53 UTC 2009 KERNEL supported cpus: Intel GenuineIntel AMD AuthenticAMD NSC Geode by NSC Cyrix CyrixInstead Centaur CentaurHauls Transmeta GenuineTMx86 Transmeta TransmetaCPU UMC UMC UMC UMC BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009b800 (usable) BIOS-e820: 000000000009b800 - 00000000000a0000 (reserved) BIOS-e820: 00000000000d0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000001fea0000 (usable) BIOS-e820: 000000001fea0000 - 000000001feae000 (ACPI data) BIOS-e820: 000000001feae000 - 000000001ff00000 (ACPI NVS) BIOS-e820: 000000001ff00000 - 0000000020000000 (reserved) BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved) DMI 2.3 present. last_pfn = 0x1fea0 max_arch_pfn = 0x100000 x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106 kernel direct mapping tables up to 1fea0000 @ 7000-c000 RAMDISK: 1f4f9000 - 1fe8f5b7 ACPI: RSDP 000F6DB0, 0014 (r0 PTLTD ) ACPI: RSDT 1FEA81AD, 0034 (r1 PTLTD RSDT 6040000 LTP 0) ACPI: FACP 1FEADE20, 0074 (r1 ATI Piranha 6040000 ATI F4240) FADT: X_PM1a_EVT_BLK.bit_width (16) does not match PM1_EVT_LEN (4) FADT: X_PM1b_EVT_BLK.bit_width (16) does not match PM1_EVT_LEN (4) ACPI: DSDT 1FEA81E1, 5C3F (r1 ATI SB400 6040000 MSFT 100000E) ACPI: FACS 1FEAEFC0, 0040 ACPI: SSDT 1FEADE94, 00D6 (r1 PTLTD POWERNOW 6040000 LTP 1) ACPI: APIC 1FEADF6A, 005A (r1 PTLTD APIC 6040000 LTP 0) ACPI: MCFG 1FEADFC4, 003C (r1 PTLTD MCFG 6040000 LTP 0) ACPI: Local APIC address 0xfee00000 0MB HIGHMEM available. 510MB LOWMEM available. mapped low ram: 0 - 1fea0000 low ram: 00000000 - 1fea0000 bootmap 00002000 - 00005fd4 (9 early reservations) ==> bootmem [0000000000 - 001fea0000] #0 [0000000000 - 0000001000] BIOS data page ==> [0000000000 - 0000001000] #1 [0000001000 - 0000002000] EX TRAMPOLINE ==> [0000001000 - 0000002000] #2 [0000006000 - 0000007000] TRAMPOLINE ==> [0000006000 - 0000007000] #3 [0000100000 - 000055b448] TEXT DATA BSS ==> [0000100000 - 000055b448] #4 [001f4f9000 - 001fe8f5b7] RAMDISK ==> [001f4f9000 - 001fe8f5b7] #5 [000055c000 - 000055f000] INIT_PG_TABLE ==> [000055c000 - 000055f000] #6 [000009b800 - 0000100000] BIOS reserved ==> [000009b800 - 0000100000] #7 [0000007000 - 0000008000] PGTABLE ==> [0000007000 - 0000008000] #8 [0000002000 - 0000006000] BOOTMAP ==> [0000002000 - 0000006000] found SMP MP-table at [c00f6df0] 000f6df0 Zone PFN ranges: DMA 0x00000000 -> 0x00001000 Normal 0x00001000 -> 0x0001fea0 HighMem 0x0001fea0 -> 0x0001fea0 Movable zone start PFN for each node early_node_map[2] active PFN ranges 0: 0x00000000 -> 0x0000009b 0: 0x00000100 -> 0x0001fea0 On node 0 totalpages: 130619 free_area_init_node: node 0, pgdat c047ba80, node_mem_map c1000000 DMA zone: 32 pages used for memmap DMA zone: 0 pages reserved DMA zone: 3963 pages, LIFO batch:0 Normal zone: 990 pages used for memmap Normal zone: 125634 pages, LIFO batch:31 SB4X0 revision 0x11 Ignoring ACPI timer override. If you got timer trouble try acpi_use_timer_override ACPI: PM-Timer IO Port: 0x8008 ACPI: Local APIC address 0xfee00000 ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1]) ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0]) IOAPIC[0]: apic_id 1, version 33, address 0xfec00000, GSI 0-23 ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge) ACPI: BIOS IRQ0 pin2 override ignored. ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 21 low level) Enabling APIC mode: Flat. Using 1 I/O APICs Using ACPI (MADT) for SMP configuration information SMP: Allowing 1 CPUs, 0 hotplug CPUs nr_irqs_gsi: 24 PM: Registered nosave memory: 000000000009b000 - 000000000009c000 PM: Registered nosave memory: 000000000009c000 - 00000000000a0000 PM: Registered nosave memory: 00000000000a0000 - 00000000000d0000 PM: Registered nosave memory: 00000000000d0000 - 0000000000100000 Allocating PCI resources starting at 30000000 (gap: 20000000:dec00000) NR_CPUS:32 nr_cpumask_bits:32 nr_cpu_ids:1 nr_node_ids:1 PERCPU: Allocating 36864 bytes of per cpu data Built 1 zonelists in Zone order, mobility grouping on. Total pages: 129597 Kernel command line: root=UUID=34f5f0d2-eb20-49fb-9e5e-b8fecae680d3 ro quiet vga=791 Enabling fast FPU save and restore. done. Enabling unmasked SIMD FPU exception support. done. Initializing CPU#0 Preemptible RCU implementation. PID hash table entries: 2048 (order: 11, 8192 bytes) Fast TSC calibration using PIT Detected 1799.920 MHz processor. Console: colour dummy device 80x25

Re: Виртуальный com порт

Сообщение troll80 » 17.05.2009 16:14

shuric@siduxbox:~$ dmesg usb 3-1: USB disconnect, address 3 usb 2-2: new full speed USB device using ohci_hcd and address 3 usb 2-2: New USB device found, idVendor=03eb, idProduct=6124 usb 2-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0 usb 2-2: configuration #1 chosen from 1 choice

Источник

Читайте также:  Linux find all directories chmod

Thread: Virtual COM Port

manudo is offlineJust Give Me the Beans!

Virtual COM Port

Hi, I’m new at Ubuntu and I need something like when I connect an USB the computer recognizes as a serial device, how I can do that?
I Googled a lot but I need that for a Wine program so any ideas, feel free to tell.

Lars Nood�n is offlineUbuntu Member

Re: Virtual COM Port

There are USB-to-serial adapters that allow you to connect to a serial device even if your machine does not have a serial port. Is that what you are asking about?

manudo is offlineJust Give Me the Beans!

Re: Virtual COM Port

QuoteOriginally Posted by Lars Nood�n View Post

There are USB-to-serial adapters that allow you to connect to a serial device even if your machine does not have a serial port. Is that what you are asking about?

Thanks for your fast reply, but I have a printer that connects in USB port, but I need that the port can be recognized as a serial (ttys0) port, because I need it in a Windows wine program.
By the way, the USB-Serial adapter couldn’t be a bad idea, thanks.

Lars Nood�n is offlineUbuntu Member

Re: Virtual COM Port

Ok. Have you looked for some /dev/ttyUSB0 or something like that when you’ve plugged in your USB printer?

manudo is offlineJust Give Me the Beans!

Re: Virtual COM Port

QuoteOriginally Posted by Lars Nood�n View Post

Ok. Have you looked for some /dev/ttyUSB0 or something like that when you’ve plugged in your USB printer?

Lars Nood�n is offlineUbuntu Member

Re: Virtual COM Port

It’s not a matter of configuring it, it’s there if the device already appears to Ubuntu to be a serial device. If that is the case then you should be able to connect to it like any other serial device.

Читайте также:  Linux easy peasy обзор

Does /dev/ttyUSB0 or similar appear when you plug in that device?

manudo is offlineJust Give Me the Beans!

Re: Virtual COM Port

QuoteOriginally Posted by Lars Nood�n View Post

Caveat: I’m not into hardware.

It’s not a matter of configuring it, it’s there if the device already appears to Ubuntu to be a serial device. If that is the case then you should be able to connect to it like any other serial device.

Does /dev/ttyUSB0 or similar appear when you plug in that device?

It’s USB.
But the printer has an option that let you print in a Virtual COM port, so I’ll try if I connect the printer in that state the ttyUSB0 appears, but, wait a minute. How I can know if the printer is recognized? Is there a devmgmt.msc in ubuntu?

Источник

Оцените статью
Adblock
detector