HASP
Доброго времени суток! Есть локальная сеть, к ней подключены компьютеры бухгалтеров, которые сидят в сетевой версии 1С 7.7 и подключаются к серверу Windows 2000, где лежат базы, а также подцеплен LPT ключ HASP и запущен NHSRVW32.EXE. Но проблема в том, что скоро вместо W2K там будет стоять FreeBSD. Все нормально, кроме одного: нет драйвера hasp под эту операционную систему. Поэтому было принято решение поставить рядом с сервером бездисковую древнюю машину, где будет запускаться какой-нибудь Live CD с Linux и работать hasplm. Вот что получилось:
Настраиваю floppyfw-2.99.4, добавляю пакет со всем, что связано с hasp. И результат:
1) # uname -a Linux hasplinux 2.4.30-floppyfw-2.99.4 #1 Sat Apr 16 02:01:53 MDT 2005 i686 unknown
- dmesg | grep parport
parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE] parport0: irq 7 detected 2) Скрипт запуска:
- !/bin/sh
mknod /dev/Hardlock c 42 0 chmod 666 /dev/Hardlock insmod aksparlnx aksusbd hasplm 3) Запускаю, получаю в логах: aksparlnx: EYE/HASP driver v1.05/API v3.81/major 42 loaded (ppi) hasplinux daemon.info aksusbd[370]: loaded, daemon version: 1.5, key API (parallel) version: 3.81(USB access not available) hasplinux daemon.info hasplm[374]: HASP LM v8.08 loaded
- ls -l /dev/Hardlock
crw-rw-rw- 1 root root 42, 0 Mar 22 08:29 /dev/Hardlock
- lsmod
Module Size Used by Tainted: P aksparlnx 32904 2 parport_pc 12816 1 parport 19496 1 [aksparlnx parport_pc]
- ps ax
PID Uid VmSize Stat Command 370 root 576 S aksusbd 371 root 576 S aksusbd 372 root 576 S aksusbd 374 root 484 S hasplm
- netstat -al
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 *:475 *:* Active UNIX domain sockets (only servers) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 2078 /tmp/.aksusb
- getports
Aladdin driver accesses the following 1 ports:
0378 (0001) - parport port
- lxdrvver
Aladdin driver version is: 1.05 Driver's API version is: 3.81
- ls -l /tmp/.aksusb
srw-rw-rw- 1 root root 0 Mar 22 09:13 /tmp/.aksusb 4) Отключаю сервер W2K от сети и подключаю машину с этим Linux (ip 10.164.28.5), чтобы проверить работу. Запускаю 1С на клиентской машине (ip 10.164.28.66). Вот что видит tcpdump:
- tcpdump -vv
tcpdump: listening on eth0 08:46:57.250949 10.164.28.66.2393 > 255.255.255.255.475: udp 165 (ttl 128, id 15047, len 193) 08:46:57.271519 10.164.28.5.475 > 10.164.28.66.2393: udp 62 (DF) (ttl 64, id 0, len 90) 08:46:58.267608 10.164.28.66.2393 > 255.255.255.255.475: udp 165 (ttl 128, id 15049, len 193) 08:46:58.287210 10.164.28.5.475 > 10.164.28.66.2393: udp 62 (DF) (ttl 64, id 0, len 90) 08:46:59.285473 10.164.28.66.2394 > 255.255.255.255.475: udp 165 (ttl 128, id 15051, len 193) 08:46:59.305145 10.164.28.5.475 > 10.164.28.66.2394: udp 62 (DF) (ttl 64, id 0, len 90) 08:47:01.298941 10.164.28.66.2394 > 255.255.255.255.475: udp 165 (ttl 128, id 15054, len 193) 08:47:01.318475 10.164.28.5.475 > 10.164.28.66.2394: udp 62 (DF) (ttl 64, id 0, len 90) 08:47:03.316699 10.164.28.66.2395 > 255.255.255.255.475: udp 165 (ttl 128, id 15056, len 193) 08:47:03.338334 10.164.28.5.475 > 10.164.28.66.2395: udp 62 (DF) (ttl 64, id 0, len 90) 08:47:07.330395 10.164.28.66.2395 > 255.255.255.255.475: udp 165 (ttl 128, id 15058, len 193)
Все, 1С сообщает об отсутствии ключа. Убираю машину с Linux из сети, подключаю Windows 2000 Server -- все ок. :(
- haspdemo
HASP API demonstration program implemented for C Copyright (c) 2001, Aladdin Knowledge Systems Ltd. Select which services you want to perform: 1 - HASP4 Std. HASP4 M1 and HASP4 M4 services 2 - HASP4 Time services 3 - HASP4 Net services -> 1 Enter the first HASP password (0 for DEMOMA) : 0 Check for any HASP key : HASP key found. Encoded data is : .Ё6;hъ[T%ґ..ЗЎІCmм_№щ«2шбйI..»`q...Ь. Decoded data is : Failed. Error number: -3. Encoded again : Failed. Error number: -3. Get HASP status : Memory size: 0, HASP type: 0, Actual LptNum: 0
Запустил я aksusbd с -l 3 и увидел в /var/log/messages вот что:
Mar 22 08:59:27 hasplinux daemon.info aksusbd[294]: loaded, daemon version: 1.5, key API (parallel) version: 3.81 (USB access not available) Mar 22 08:59:43 hasplinux daemon.info aksusbd[294]: bad read on local socket Mar 22 08:59:44 hasplinux daemon.info aksusbd[294]: bad read on local socket Mar 22 08:59:45 hasplinux daemon.info aksusbd[294]: bad read on local socket
Это появляется при поиске 1С ключа, а также при запуске haspdemo. Обновился до aksusbd version 1.8.1 и HASP LM v8.30 -- не помогло. Все та же ошибка "bad read on local socket". Думаю вдруг проблема в floppyfw, поставил специально еще на одну машину Red Hat Linux 9.0, ядро 2.4.20-8.
Ставлю: aksusbd-redhat-1.5-1.i386.rpm aksparlnx-redhat-1.6-1.i386.rpm hasplm-redhat-8.30-1.i386.rpm Запускаю: parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE] parport0: irq 7 detected aksparlnx: EYE/HASP driver v1.06/API v3.86/major 60 loaded (ppi) aksusbd[4184]: loaded, daemon version: 1.5, key API (USB) version: 3.81, key API (parallel) version: 3.86 hasplm[2465]: HASP LM v8.30 loaded
- netstat -npl
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name udp 0 0 0.0.0.0:475 0.0.0.0:* 2132/hasplm Active UNIX domain sockets (only servers) Proto RefCnt Flags Type State I-Node PID/Program name Path unix 2 [ ACC ] STREAM LISTENING 2337 2094/aksusbd /tmp/.aksusb
Запускаю 1С -- bad read on local socket. Ни у кого такого не было? А может быть у кого есть рабочая система с ключом? Я бы выслал iso файл с floppyfw, чтобы, если не трудно, загрузиться и проверить.
WBR
http://www.opennet.ru/openforum/vsluhforumID1/65040.html
Для 1С и Компас
В файле NETHASP.INI прописать.
[NH_COMMON] NH_TCPIP = Enabled ; Используем только IP-протокол [NH_TCPIP] NH_SERVER_ADDR = 192.168.10.102 ; IP-адрес (или имя) машины с менеджером лицензий NH_TCPIP_METHOD = UDP ; UDP для Linux-сервера и TCP для Windows-сервера NH_USE_BROADCAST = Disabled ; Отключить поиск ключа по всей сети