суббота, 27 октября 2012 г.

Proxmox. Проброс usb-устройств в гостевую виртуальную машину. На примере ключей 1С HASP

 обновлено 16.05.13

Немного теории о usb:
"Физическое соединение устройств осуществляется по топологии многоярусной звезды. Центром каждой звезды является хаб, каждый кабельный сегмент соединяет две точки - хаб с другим хабом или с функцией. В системе имеется один (и только один) хост-контроллер, расположенный в вершине пирамиды устройств и хабов. Хост-контроллер интегрируется с корневым хабом (Root Hub), обеспечивающим одну или несколько точек подключения - портов." — источник

Наша задача выяснить, на какой шине (bus) и к какому порту (port) подключены наши usb-устройства. В качестве примера приведён проброс двух ключей HASP 1С Предприятия 8 (серверный и клиентский)

1. Вставляем usb-устройства;

2. Далее есть два способа выяснения связки шина-порт:
а) В консоли proxmox сервера выполняем "lsusb". В результате выясним имя устройств и найдём среди них свои:
...
Bus 006 Device 003: ID 0529:0001 Aladdin Knowledge Systems HASP v0.06
Bus 006 Device 002: ID 0529:0001 Aladdin Knowledge Systems HASP v0.06
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 0557:2221 ATEN International Co., Ltd
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
...

Искомое: 2 ключа Aladdin Knowledge Systems HASP v0.06 на шине 6

Теперь выясняем, на каких портах "висят" ключи. Выполняем "lsusb -t", которая нам выдаст древовидную структуру:
...
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 1: Dev 2, If 0, Class=vend., Driver=usbfs, 1.5M
    |__ Port 2: Dev 3, If 0, Class=vend., Driver=usbfs, 1.5M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 2: Dev 2, If 0, Class=HID, Driver=usbhid, 12M
    |__ Port 2: Dev 2, If 1, Class=HID, Driver=usbhid, 12M

...
Как видим, устройства (Device) 2 и 3 на шине 6 находятся на портах 1 и 2. Соответственно, пробрасывать будем 6-1 и 6-2.

б) Короткий способ.
Выполняем "qm monitor НОМЕР_ВИРТУАЛЬНОЙ_МАШИНЫ",
qm>
Теперь выполняем команду "info usbhost"
...
  Bus 5, Addr 2, Port 2, Speed 12 Mb/s
    Class 00: USB device 0557:2221, Hermon USB hidmouse Device
  Bus 6, Addr 2, Port 1, Speed 1.5 Mb/s
    Vendor Specific: USB device 0529:0001, HASP 2.17
  Bus 6, Addr 3, Port 2, Speed 1.5 Mb/s
    Vendor Specific: USB device 0529:0001, HASP HL 3.25

...
 Вот они наши HASP-ключи, опять же на шине 6 и портах 1 и 2.
Выходим командной quit либо сочетанием Ctrl+C

3. Редактируем на сервере файл /etc(/pve)/qemu-server/NNN.conf (где NNN-номер виртуальной машины) и добавляем следующие строки:
Для версии proxmox < 2.0
args: -device usb-host,hostbus=6,hostport=1
args: -device usb-host,hostbus=6,hostport=2
 
Для версии proxmox > 2.0 
usb0: 6-1
usb1: 6-2

4. Перезагружаем виртуальную машину.

5. Проверить, подцепились ли устройства, можно снова зайдя в qm monitor (как в п. 2б) и выполнив команду "info usb"
...
  Device 0.1, Port 6, Speed 12 Mb/s, Product QEMU USB Tablet
  Device 0.1, Port 1, Speed 1.5 Mb/s, Product HASP 2.17
  Device 0.2, Port 2, Speed 1.5 Mb/s, Product HASP HL 3.25

...

P.S. Также usb-устройство можно подключить, добавив в конец NNN.conf такое:
usb0: host=0529:0001 
 , где 0529:0001 - это device ID, взятый из п. 2а
Плюсы: при перемещении usb-устройства в другой порт не надо ничего перенастраивать;
Минусы: этот способ не годится, если у вас несколько устройств с одинаковыми device ID, как в указанном выше примере

среда, 17 октября 2012 г.

GetSimple CMS 3.1 News Manager html-теги в анонсах

plugins/news_manager/inc/functions.php
ищем функцию function nm_create_excerpt($content)
комментируем $content = strip_tags($content);
Теперь переводы строк, выделение жирным и пр. отображаются