Added driver and utils for linux and win

This commit is contained in:
Giulio 2020-06-01 15:00:55 +02:00
parent 912aea7dee
commit 2a89b532e7
41 changed files with 2200 additions and 0 deletions

Binary file not shown.

BIN
pdf/TermAssist.pdf Normal file

Binary file not shown.

View File

@ -0,0 +1,23 @@
KERNEL_VER:=$(shell uname -r)
KERNEL_DIR:=/lib/modules/$(KERNEL_VER)/build
INSTALL_DIR:=/lib/modules/$(KERNEL_VER)/ttyPos
obj-m := ttyPos.o
all:
$(MAKE) modules -C $(KERNEL_DIR) SUBDIRS=$(shell pwd)
clean:
$(RM) *.o *.ko *.mod.* .*.cmd *~
$(RM) -r .tmp_versions
install: all
install -D -m 644 ttyPos.ko $(INSTALL_DIR)/ttyPos.ko
/sbin/depmod -a
uninstall:
modprobe -r ttyPos ; echo -n
$(RM) $(INSTALL_DIR)/ttyPos.ko
/sbin/depmod -a

View File

View File

@ -0,0 +1 @@
kernel//home/gabriel/cloudwalk/files/xcb-PAX/ttyPos_303_20141015/ttyPos.ko

1326
utils/linux/Driver/ttyPos.c Normal file

File diff suppressed because it is too large Load Diff

137
utils/linux/Driver/ttyPos.h Normal file
View File

@ -0,0 +1,137 @@
#ifndef _TTY_POS_H_
#define _TTY_POS_H_
#include <linux/module.h>
#include <linux/version.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/tty.h>
#include <linux/tty_driver.h>
#include <linux/tty_flip.h>
#include <linux/kref.h>
#include <linux/uaccess.h>
#include <linux/usb.h>
#include <linux/mutex.h>
#include <linux/time.h>
#include <linux/sched.h>
#ifdef LINUX_VERSION_CODE
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0))
#include <linux/err.h>
#include <linux/kthread.h>
#endif
#endif
#define USB_VENDOR_ID 0x1234
#define USB_PRODUCT_ID 0x0101
static struct usb_device_id pos_usb_table[] = {
{ USB_DEVICE(USB_VENDOR_ID, USB_PRODUCT_ID) },
{},
};
MODULE_DEVICE_TABLE(usb,pos_usb_table);
//#define POS_TTY_MAJOR 192 /* experimental range */
#define POS_TTY_MINORS 20 /* only have 20 devices */
#define THREAD_INIT 0x00
#define THREAD_STOPPED 0x01
#define THREAD_CREATED 0x82
#define THREAD_CLOSE 0x83
#define THREAD_IS_RUNNING(ThreadState) (ThreadState & 0x80)
#define WRITE_COMMAND 0 /* write to usb device command */
#define READ_COMMAND 1 /* read from to usb device command */
#define STATUS_COMMAND 2 /* get device buffer status command */
#define POOL_SIZE 10241
typedef struct _POOL {
unsigned int ReadPos;
unsigned int WritePos;
unsigned char Buffer[POOL_SIZE];
} __attribute__((packed)) POOL, *PPOOL;
typedef struct {
unsigned char SeqNo;
unsigned char ReqType; /* 0:OUT, 1:IN, 2:STAT, 3:RESET */
unsigned short Len;
unsigned char Data[508];
} __attribute__((packed)) ST_BULK_IO;
typedef struct {
unsigned int TxBufSize;
unsigned int RxBufSize;
unsigned int TxLeft;
unsigned int RxLeft;
} __attribute__((packed)) ST_BIO_STATE;
struct tty_pos {
struct tty_struct *tty;
unsigned char devIndex;
/* for tiocmget and tiocmset functions */
int msr; /* MSR shadow */
int mcr; /* MCR shadow */
struct file *filp;
struct usb_device *udev;
struct usb_interface *interface;
struct urb *urb;
wait_queue_head_t urb_wait;
atomic_t urb_done;
int timeout_jiffies;
atomic_t urb_busy;
wait_queue_head_t write_wait;
atomic_t write_flag;
__u8 bulk_in_epAddr;
__u8 bulk_out_epAddr;
struct kref kref;
struct mutex io_mutex; /* synchronize I/O with disconnect */
volatile u8 ThreadState;
struct completion ThreadExit_completion;
unsigned char SeqCount;
ST_BULK_IO *BioPack; /* for IO access */
ST_BIO_STATE BioDevState;
POOL TxPool;
};
#define to_pos_dev(d) container_of(d, struct tty_pos, kref)
#define INIT_POOL_BUFFER(pool) pool.ReadPos = pool.WritePos = 0
#define IS_POOL_EMPTY(pool) (pool.ReadPos == pool.WritePos)
#define GET_USING_POOL(pool) \
((pool.WritePos + POOL_SIZE - pool.ReadPos) % POOL_SIZE)
#define GET_SPACE_POOL(pool) (POOL_SIZE - 1 - GET_USING_POOL(pool))
#if 0
#define ERR(stuff...)
#define INFO(stuff...)
#else
#define ERR(stuff...) printk(KERN_ERR "ttyPos: " stuff)
#define INFO(stuff...) printk(KERN_INFO "ttyPos: " stuff)
#endif
//--error code define of API call
#define USB_ERR_NOT_OPEN (-3403)//通道未打开
#define USB_ERR_BUF (-3404)//发送缓冲区错误
#define USB_ERR_NOT_FREE (-3405)//无可用的端口
#define USB_ERR_NO_CONF (-3411)//设备未完成枚举和配置过程
#define USB_ERR_DISCONN (-3412)//设备已经与主机断开
#define USB_ERR_MEM_SYSTEM (-3413)//系统内存出现异常
#define USB_ERR_BUSY (-3414)//USB系统忙碌
#define USB_ERR_RC_SYSTEM (-3415)//系统资源申请失败
#define USB_ERR_DEV_ABSENT (-3416)//USB主机上设备不在位
#define USB_ERR_INVALID (-3417)//USB通讯状态无效
#endif

Binary file not shown.

View File

@ -0,0 +1,72 @@
#include <linux/module.h>
#include <linux/vermagic.h>
#include <linux/compiler.h>
MODULE_INFO(vermagic, VERMAGIC_STRING);
__visible struct module __this_module
__attribute__((section(".gnu.linkonce.this_module"))) = {
.name = KBUILD_MODNAME,
.init = init_module,
#ifdef CONFIG_MODULE_UNLOAD
.exit = cleanup_module,
#endif
.arch = MODULE_ARCH_INIT,
};
static const struct modversion_info ____versions[]
__used
__attribute__((section("__versions"))) = {
{ 0xce67f0de, __VMLINUX_SYMBOL_STR(module_layout) },
{ 0x7986ac06, __VMLINUX_SYMBOL_STR(usb_deregister) },
{ 0x9e548906, __VMLINUX_SYMBOL_STR(put_tty_driver) },
{ 0xcfa87a29, __VMLINUX_SYMBOL_STR(tty_unregister_driver) },
{ 0x4b83a80f, __VMLINUX_SYMBOL_STR(usb_register_driver) },
{ 0x7546448f, __VMLINUX_SYMBOL_STR(tty_port_destroy) },
{ 0x173c7d63, __VMLINUX_SYMBOL_STR(tty_register_driver) },
{ 0xd9948b65, __VMLINUX_SYMBOL_STR(tty_port_init) },
{ 0x3f151bed, __VMLINUX_SYMBOL_STR(tty_set_operations) },
{ 0x67b27ec1, __VMLINUX_SYMBOL_STR(tty_std_termios) },
{ 0xb674fb3f, __VMLINUX_SYMBOL_STR(__tty_alloc_driver) },
{ 0xbc25ddba, __VMLINUX_SYMBOL_STR(tty_unregister_device) },
{ 0x6d0aba34, __VMLINUX_SYMBOL_STR(wait_for_completion) },
{ 0x73f84837, __VMLINUX_SYMBOL_STR(_dev_info) },
{ 0xf16ea7d2, __VMLINUX_SYMBOL_STR(tty_port_register_device) },
{ 0x95562a7b, __VMLINUX_SYMBOL_STR(usb_alloc_urb) },
{ 0x9a2f439c, __VMLINUX_SYMBOL_STR(usb_get_dev) },
{ 0xf432dd3d, __VMLINUX_SYMBOL_STR(__init_waitqueue_head) },
{ 0x48b65efa, __VMLINUX_SYMBOL_STR(kmem_cache_alloc_trace) },
{ 0xf08b545, __VMLINUX_SYMBOL_STR(kmalloc_caches) },
{ 0xa202a8e5, __VMLINUX_SYMBOL_STR(kmalloc_order_trace) },
{ 0x16305289, __VMLINUX_SYMBOL_STR(warn_slowpath_null) },
{ 0x46d5b1a7, __VMLINUX_SYMBOL_STR(wake_up_process) },
{ 0x8af08e8a, __VMLINUX_SYMBOL_STR(kthread_create_on_node) },
{ 0x76d65595, __VMLINUX_SYMBOL_STR(tty_port_tty_set) },
{ 0xdfb78c98, __VMLINUX_SYMBOL_STR(tty_flip_buffer_push) },
{ 0x50e4f32d, __VMLINUX_SYMBOL_STR(tty_insert_flip_string_fixed_flag) },
{ 0x952664c5, __VMLINUX_SYMBOL_STR(do_exit) },
{ 0x4b06d2e7, __VMLINUX_SYMBOL_STR(complete) },
{ 0x7d3cb6bb, __VMLINUX_SYMBOL_STR(tty_buffer_request_room) },
{ 0xe3d45d73, __VMLINUX_SYMBOL_STR(usb_reset_device) },
{ 0xd85105f, __VMLINUX_SYMBOL_STR(usb_clear_halt) },
{ 0xb6c04be8, __VMLINUX_SYMBOL_STR(usb_kill_urb) },
{ 0x27e1a049, __VMLINUX_SYMBOL_STR(printk) },
{ 0xd62c833f, __VMLINUX_SYMBOL_STR(schedule_timeout) },
{ 0xfa66f77c, __VMLINUX_SYMBOL_STR(finish_wait) },
{ 0x34f22f94, __VMLINUX_SYMBOL_STR(prepare_to_wait_event) },
{ 0x9589c982, __VMLINUX_SYMBOL_STR(usb_submit_urb) },
{ 0xcf21d241, __VMLINUX_SYMBOL_STR(__wake_up) },
{ 0x37a0cba, __VMLINUX_SYMBOL_STR(kfree) },
{ 0x20903b29, __VMLINUX_SYMBOL_STR(usb_put_dev) },
{ 0x786fa262, __VMLINUX_SYMBOL_STR(usb_free_urb) },
{ 0xbdfb6dbb, __VMLINUX_SYMBOL_STR(__fentry__) },
};
static const char __module_depends[]
__used
__attribute__((section(".modinfo"))) =
"depends=";
MODULE_ALIAS("usb:v1234p0101d*dc*dsc*dp*ic*isc*ip*in*");
MODULE_INFO(srcversion, "5AB993BD6815A26E338AACA");

Binary file not shown.

BIN
utils/linux/Driver/ttyPos.o Normal file

Binary file not shown.

View File

@ -0,0 +1,299 @@
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
#include <errno.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
//#include <sys/file.h>
#include <signal.h>
#include <termios.h>
#include <sys/ioctl.h>
static volatile sig_atomic_t doneflag = 0;
static void setdoneflag(int signo)
{
doneflag = 1;
}
static int initSig(void)
{
struct sigaction act;
act.sa_handler = setdoneflag;
act.sa_flags = 0;
if((sigemptyset(&act.sa_mask) == -1)||
(sigaction(SIGINT,&act,NULL) == -1))
{
perror("Failed to set SIGINT handler");
return 1;
}
return 0;
}
int setSerial(int fd,int nSpeed,int nBits,char nEvent,int nStop)
{
struct termios newtio,oldtio;
if(tcgetattr(fd,&oldtio) != 0)
{
perror("SetupSerial 1");
return 1;
}
bzero(&newtio,sizeof(newtio));
//1:Setting char size
newtio.c_cflag |= CLOCAL | CREAD;
newtio.c_cflag &= ~CSIZE;
//2:Setting bits
switch(nBits)
{
case 7:
newtio.c_cflag |= CS7;
break;
case 8:
newtio.c_cflag |= CS8;
break;
}
//3:Setting parity
switch(nEvent)
{
case 'O':
newtio.c_cflag |= PARENB;
newtio.c_cflag |= PARODD;
newtio.c_cflag |= (INPCK | ISTRIP);
break;
case 'E':
newtio.c_cflag |= (INPCK | ISTRIP);
newtio.c_cflag |= PARENB;
newtio.c_cflag &= ~PARODD;
break;
case 'N':
newtio.c_cflag &= ~PARENB;
break;
}
//4:Setting speed
switch(nSpeed)
{
case 2400:
cfsetispeed(&newtio,B2400);
cfsetospeed(&newtio,B2400);
break;
case 4800:
cfsetispeed(&newtio,B4800);
cfsetospeed(&newtio,B4800);
break;
case 9600:
cfsetispeed(&newtio,B9600);
cfsetospeed(&newtio,B9600);
break;
case 115200:
cfsetispeed(&newtio,B115200);
cfsetospeed(&newtio,B115200);
break;
case 460800:
cfsetispeed(&newtio,B460800);
cfsetospeed(&newtio,B460800);
break;
default:
cfsetispeed(&newtio,B115200);
cfsetospeed(&newtio,B115200);
break;
}
//5:Setting stop bits
switch(nStop)
{
case 1:
newtio.c_cflag &= ~CSTOPB;
break;
case 2:
newtio.c_cflag |= CSTOPB;
break;
}
//6:Setting recvice timeout and mini bytes size of recvice
newtio.c_cc[VTIME] = 0;
newtio.c_cc[VMIN] = 0;
//7:flush input and output buffer
tcflush(fd,TCIOFLUSH);
if(tcsetattr(fd,TCSANOW,&newtio) != 0)
{
perror("serial set error");
return 2;
}
printf("serial setting done\n");
return 0;
}
int openSerial(int fd,unsigned char *SerialName)
{
fd = open(SerialName,O_RDWR|O_NOCTTY|O_NDELAY);
if(fd <0)
{
perror("open");
return fd;
}
#if 1
if(fcntl(fd,F_SETFL,0) < 0)
printf("fcntl failed!\n");
else
printf("fcntl=%d\n",fcntl(fd,F_SETFL,0));
#endif
return fd;
}
int rwTest(int fd)
{
int rLen=0,wLen=0,ret=0;
unsigned char buf[3000];
unsigned int i=0,j=0;
unsigned int r_count=0;
#if 1
fd_set rd;
FD_ZERO(&rd);
FD_SET(fd,&rd);
#endif
while(doneflag ==0)
{
#if 1
while(!FD_ISSET(fd,&rd));
if(select(fd+1,&rd,NULL,NULL,NULL) <0)
continue;
#endif
rLen= read(fd,buf,sizeof(buf));
if(rLen < 0)
{
perror("read");
return 1;
}
if(rLen == 0)
{
//sleep(1);
// printf("sleep\n");
continue;
}
//r_count++;
//if(r_count%100 == 0)
// printf("rLen:%d\n",rLen);
wLen = 0;
for(j=0;j<5;j++)
{
ret = write(fd, buf + wLen, rLen - wLen);
if(ret < 0)
{
perror("write");
return 2;
}
wLen += ret;
if(wLen == rLen)
break;
}
if(wLen == rLen)
{
//if(r_count%100 ==0)
// printf("wLen:%d\n",wLen);
}
else
{
printf("write err 1\n");
return 3;
}
}
return 0;
}
int main(int argc, char *argv[])
{
int fd;
int flags;
int ret;
unsigned char SerialName[30]={0};
printf("Version:%s\n","2010.12.30_00");
if(argc == 1)
{
strcpy(SerialName,"/dev/ttyPos0");
}
else if(argc == 2)
{
strcpy(SerialName,argv[1]);
}
else
{
printf("ARG ERROR\n");
return 1;
}
printf("SerialName:%s\n",SerialName);
ret = initSig();
if(ret)
return ret;
fd = openSerial(fd,SerialName);//open(SerialName,O_RDWR);
if(fd <0)
{
exit(1);
}
ret = setSerial(fd,115200,8,'N',1);
if(ret != 0)
{
printf("setSerial:%d\n");
goto byebye;
}
if(ioctl(fd,TIOCMGET,&flags)<0)
{
perror("ioctl failed");
goto byebye;
}
printf("flags:%X\n",flags);
ret = rwTest(fd);
printf("rwTest:%d\n",ret);
byebye:
printf("doneflag:%d\n",doneflag);
ret = close(fd);
if(ret <0)
{
perror("close");
}
else
{
printf("close success!\n");
}
exit(0);
}

BIN
utils/linux/XCB/xcb Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,98 @@
; POSVCOM.INF
;
; Copyright ?2000-2013 Future Technology Devices International Limited
;
; USB serial port driver installation file for Windows 2000, XP, Server 2003, Vista, Server 2008,
; Windows 7 and Server 2008 R2 (x86 and x64).
;
[Version]
Signature="$Windows NT$"
DriverPackageType=PlugAndPlay
DriverPackageDisplayName=%DeviceName%
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%ProviderName%
DriverVer=06/21/2013,2.5.0.0
Catalogfile=posvcom.cat
[SourceDisksNames]
1=%DriversDisk%,,,
[SourceDisksFiles]
posvcom.sys=1,i386
[SourceDisksFiles.amd64]
posvcom.sys=1,amd64
[DestinationDirs]
Wdm.Files.Driver=10,System32\Drivers
[ControlFlags]
ExcludeFromSelect=*
[Manufacturer]
%ProviderName% = PAXHW,NTamd64
[PAXHW]
%VID_1234&PID_0101.DeviceDesc%=PAXPort.NT, USB\VID_1234&PID_0101
[PAXHW.NTamd64]
%VID_1234&PID_0101.DeviceDesc%=PAXPort.NTamd64, USB\VID_1234&PID_0101
[PAXPort.NT.AddService]
DisplayName = %ServiceName%
ServiceType = %SERVICE_KERNEL_DRIVER%
StartType = %SERVICE_DEMAND_START%
ErrorControl = %SERVICE_ERROR_NORMAL%
ServiceBinary = %10%\System32\Drivers\posvcom.sys
LoadOrderGroup = Base
[Serenum_AddService]
DisplayName = %SereServiceName%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\serenum.sys
LoadOrderGroup = PNP Filter
[PAXPort.NT.AddReg]
HKR,,,,%PortsClassName%
HKR,,Icon,,"-23"
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,posvcom.sys
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
[Wdm.Files.Driver]
posvcom.sys,,,%COPYFLG_NOSKIP%
[PAXPort.NT]
CopyFiles=Wdm.Files.Driver
AddReg=PAXPort.NT.AddReg
[PAXPort.NTamd64]
CopyFiles=Wdm.Files.Driver
AddReg=PAXPort.NT.AddReg
[PAXPort.NT.Services]
AddService = vcom_service, %SPSVCINST_ASSOCSERVICE%, PAXPort.NT.AddService
AddService = Serenum,,Serenum_AddService
[PAXPort.NTamd64.Services]
AddService = vcom_service, %SPSVCINST_ASSOCSERVICE%, PAXPort.NT.AddService
AddService = Serenum,,Serenum_AddService
[Strings]
ProviderName="PAX Technology Co. Ltd"
PortsClassName="PosPorts(VCOM)"
DeviceName="Pos Vcom Device"
ServiceName="Pos Vcom Driver"
SereServiceName="Serenum Filter Driver"
VID_1234&PID_0101.DeviceDesc="USB Serial Port(PAX)"
DriversDisk="SYS file directory"
SPSVCINST_ASSOCSERVICE=0x00000002 ; Driver service is associated with device being installed
COPYFLG_NOSKIP=2 ; Do not allow user to skip file
SERVICE_KERNEL_DRIVER=1
SERVICE_AUTO_START=2
SERVICE_DEMAND_START=3
SERVICE_ERROR_NORMAL=1

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,150 @@
; POSVCOM.INF
;
; Copyright ?2000-2013 Future Technology Devices International Limited
;
; USB serial port driver installation file for Windows 2000, XP, Server 2003, Vista, Server 2008,
; Windows 7 and Server 2008 R2 (x86 and x64).
;
[Version]
Signature="$Windows NT$"
DriverPackageType=PlugAndPlay
DriverPackageDisplayName=%DeviceName%
Class=Ports
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%ProviderName%
DriverVer=10/16/2015,2.7.0.0
Catalogfile=posvcom.cat
[SourceDisksNames]
1=%DriversDisk%,,,
[SourceDisksFiles]
posvcom.sys=1,i386
[SourceDisksFiles.amd64]
posvcom.sys=1,amd64
[DestinationDirs]
Wdm.Files.Driver=10,System32\Drivers
[ControlFlags]
ExcludeFromSelect=*
[Manufacturer]
%ProviderName% = PAXHW,NTamd64
[PAXHW]
%VID_1234&PID_0101.DeviceDesc%=PAXPort.NT, USB\VID_1234&PID_0101
%VID_1234&PID_0102.DeviceDesc%=PAXPort.NT, USB\VID_1234&PID_0102
%VID_1234&PID_0103.DeviceDesc%=PAXPort.NT, USB\VID_1234&PID_0103
%VID_1234&PID_0104.DeviceDesc%=PAXPort.NT, USB\VID_1234&PID_0104
%VID_1234&PID_0105.DeviceDesc%=PAXPort.NT, USB\VID_1234&PID_0105
%VID_1234&PID_0106.DeviceDesc%=PAXPort.NT, USB\VID_1234&PID_0106
%VID_1234&PID_0107.DeviceDesc%=PAXPort.NT, USB\VID_1234&PID_0107
%VID_1234&PID_0108.DeviceDesc%=PAXPort.NT, USB\VID_1234&PID_0108
%VID_1234&PID_0109.DeviceDesc%=PAXPort.NT, USB\VID_1234&PID_0109
%VID_0866&PID_0201.DeviceDesc%=PAXPort.NT, USB\VID_0866&PID_0201
%VID_0866&PID_0202.DeviceDesc%=PAXPort.NT, USB\VID_0866&PID_0202
%VID_0866&PID_0203.DeviceDesc%=PAXPort.NT, USB\VID_0866&PID_0203
%VID_0866&PID_0204.DeviceDesc%=PAXPort.NT, USB\VID_0866&PID_0204
%VID_0866&PID_0205.DeviceDesc%=PAXPort.NT, USB\VID_0866&PID_0205
%VID_0866&PID_0206.DeviceDesc%=PAXPort.NT, USB\VID_0866&PID_0206
%VID_0866&PID_0207.DeviceDesc%=PAXPort.NT, USB\VID_0866&PID_0207
%VID_0866&PID_0208.DeviceDesc%=PAXPort.NT, USB\VID_0866&PID_0208
%VID_0866&PID_0209.DeviceDesc%=PAXPort.NT, USB\VID_0866&PID_0209
[PAXHW.NTamd64]
%VID_1234&PID_0101.DeviceDesc%=PAXPort.NTamd64, USB\VID_1234&PID_0101
%VID_1234&PID_0102.DeviceDesc%=PAXPort.NTamd64, USB\VID_1234&PID_0102
%VID_1234&PID_0103.DeviceDesc%=PAXPort.NTamd64, USB\VID_1234&PID_0103
%VID_1234&PID_0104.DeviceDesc%=PAXPort.NTamd64, USB\VID_1234&PID_0104
%VID_1234&PID_0105.DeviceDesc%=PAXPort.NTamd64, USB\VID_1234&PID_0105
%VID_1234&PID_0106.DeviceDesc%=PAXPort.NTamd64, USB\VID_1234&PID_0106
%VID_1234&PID_0107.DeviceDesc%=PAXPort.NTamd64, USB\VID_1234&PID_0107
%VID_1234&PID_0108.DeviceDesc%=PAXPort.NTamd64, USB\VID_1234&PID_0108
%VID_1234&PID_0109.DeviceDesc%=PAXPort.NTamd64, USB\VID_1234&PID_0109
%VID_0866&PID_0201.DeviceDesc%=PAXPort.NTamd64, USB\VID_0866&PID_0201
%VID_0866&PID_0202.DeviceDesc%=PAXPort.NTamd64, USB\VID_0866&PID_0202
%VID_0866&PID_0203.DeviceDesc%=PAXPort.NTamd64, USB\VID_0866&PID_0203
%VID_0866&PID_0204.DeviceDesc%=PAXPort.NTamd64, USB\VID_0866&PID_0204
%VID_0866&PID_0205.DeviceDesc%=PAXPort.NTamd64, USB\VID_0866&PID_0205
%VID_0866&PID_0206.DeviceDesc%=PAXPort.NTamd64, USB\VID_0866&PID_0206
%VID_0866&PID_0207.DeviceDesc%=PAXPort.NTamd64, USB\VID_0866&PID_0207
%VID_0866&PID_0208.DeviceDesc%=PAXPort.NTamd64, USB\VID_0866&PID_0208
%VID_0866&PID_0209.DeviceDesc%=PAXPort.NTamd64, USB\VID_0866&PID_0209
[PAXPort.NT.AddService]
DisplayName = %ServiceName%
ServiceType = %SERVICE_KERNEL_DRIVER%
StartType = %SERVICE_DEMAND_START%
ErrorControl = %SERVICE_ERROR_NORMAL%
ServiceBinary = %10%\System32\Drivers\posvcom.sys
LoadOrderGroup = Base
[Serenum_AddService]
DisplayName = %SereServiceName%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\serenum.sys
LoadOrderGroup = PNP Filter
[PAXPort.NT.AddReg]
HKR,,,,%PortsClassName%
HKR,,Icon,,"-23"
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,posvcom.sys
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
[Wdm.Files.Driver]
posvcom.sys,,,%COPYFLG_NOSKIP%
[PAXPort.NT]
CopyFiles=Wdm.Files.Driver
AddReg=PAXPort.NT.AddReg
[PAXPort.NTamd64]
CopyFiles=Wdm.Files.Driver
AddReg=PAXPort.NT.AddReg
[PAXPort.NT.Services]
AddService = vcom_service, %SPSVCINST_ASSOCSERVICE%, PAXPort.NT.AddService
AddService = Serenum,,Serenum_AddService
[PAXPort.NTamd64.Services]
AddService = vcom_service, %SPSVCINST_ASSOCSERVICE%, PAXPort.NT.AddService
AddService = Serenum,,Serenum_AddService
[Strings]
ProviderName="PAX Technology Co. Ltd"
PortsClassName="PosPorts(VCOM)"
DeviceName="Pos Vcom Device"
ServiceName="Pos Vcom Driver"
SereServiceName="Serenum Filter Driver"
VID_1234&PID_0101.DeviceDesc="USB Serial Port"
VID_1234&PID_0102.DeviceDesc="USB Serial Port"
VID_1234&PID_0103.DeviceDesc="USB Serial Port"
VID_1234&PID_0104.DeviceDesc="USB Serial Port"
VID_1234&PID_0105.DeviceDesc="USB Serial Port"
VID_1234&PID_0106.DeviceDesc="USB Serial Port"
VID_1234&PID_0107.DeviceDesc="USB Serial Port"
VID_1234&PID_0108.DeviceDesc="USB Serial Port"
VID_1234&PID_0109.DeviceDesc="USB Serial Port"
VID_0866&PID_0201.DeviceDesc="USB Serial Port"
VID_0866&PID_0202.DeviceDesc="USB Serial Port"
VID_0866&PID_0203.DeviceDesc="USB Serial Port"
VID_0866&PID_0204.DeviceDesc="USB Serial Port"
VID_0866&PID_0205.DeviceDesc="USB Serial Port"
VID_0866&PID_0206.DeviceDesc="USB Serial Port"
VID_0866&PID_0207.DeviceDesc="USB Serial Port"
VID_0866&PID_0208.DeviceDesc="USB Serial Port"
VID_0866&PID_0209.DeviceDesc="USB Serial Port"
DriversDisk="SYS file directory"
SPSVCINST_ASSOCSERVICE=0x00000002 ; Driver service is associated with device being installed
COPYFLG_NOSKIP=2 ; Do not allow user to skip file
SERVICE_KERNEL_DRIVER=1
SERVICE_AUTO_START=2
SERVICE_DEMAND_START=3
SERVICE_ERROR_NORMAL=1

Binary file not shown.

View File

@ -0,0 +1,8 @@
[setting]
ConnType=1
com=COM11
com_index=1
Dest_IP=
Dest_port=5555
CloseType=0
Language=0

View File

@ -0,0 +1,3 @@
[list]
OS_TYPE=0
File_Type=0

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?><devinfo>
<terminal>
<os>Prolin2.4.51[D1]</os>
<build-time>2016-03-09</build-time>
<sn>55152475</sn>
<exsn>G3TN05041AJCWX000000000000000000</exsn>
<mach>s900</mach>
<flash>128MB</flash>
<freeflash>61.27M</freeflash>
<boot>2.0.05.3256</boot>
<ram>59.14MB</ram>
<freeram>32.15M</freeram>
<pn>S900-0GW-363-02LU</pn>
<pukmode>2</pukmode>
<msr>MEGAHUNT SecureHead Reader V4.32</msr>
</terminal>
<application>
<app id="MAINAPP" >
<appname>MerchantDeviceApp</appname>
<bin>bin/MablApp</bin>
<version>1.2.1.2</version>
<vender>Optomany</vender>
<description>AxeptMerchantDevice</description>
<mtime>2016-09-29 12:40:06</mtime>
</app>
</application>
<package>
</package>
<uspuk>
<puk0 crc="0xA40EB99B" owner="" />
</uspuk>
<property>
<fac key="ro.fac.ubootver" value="2.0.05.3256" />
<fac key="ro.fac.exsn" value="G3TN05041AJCWX000000000000000000" />
<fac key="ro.fac.sn" value="55152475" />
<fac key="ro.fac.prolin_debug_level" value="1" />
<fac key="ro.fac.lcd.rotate" value="90" />
<fac key="ro.fac.pcd.param3" value="00000000000000000000" />
<fac key="ro.fac.pcd.param2" value="6F3C0B03020300000000" />
<fac key="ro.fac.pcd.param1" value="00000FFF0404116F1100" />
<fac key="ro.fac.sdhc" value="4-32GB,Class4" />
<fac key="ro.fac.touchscreen" value="resistive,ads7846" />
<fac key="ro.fac.audiocard" value="CS4344-CZZR" />
<fac key="ro.fac.videocard" value="08" />
<fac key="ro.fac.msr" value="E-MAG_MH1601" />
<fac key="ro.fac.sci" value="05" />
<fac key="ro.fac.pcd" value="03" />
<fac key="ro.fac.printer" value="PRT-48F" />
<fac key="ro.fac.radio" value="02" />
<fac key="ro.fac.wifi" value="01" />
<fac key="ro.fac.battery" value="1" />
<fac key="ro.fac.simsocket" value="1" />
<fac key="ro.fac.buzzer" value="1" />
<fac key="ro.fac.keybroad" value="1" />
<fac key="ro.fac.leddt" value="0" />
<fac key="ro.fac.usb.otg" value="1" />
<fac key="ro.fac.usb.device" value="1" />
<fac key="ro.fac.usb.host" value="1" />
<fac key="ro.fac.eth" value="0" />
<fac key="ro.fac.boardver" value="ANT04" />
<fac key="ro.fac.pn" value="S900-0GW-363-02LU" />
<fac key="ro.fac.conf.ver" value="08AL02_V2.0" />
<fac key="ro.fac.mach" value="s900" />
<fac key="ro.fac.hwver" value="08-05" />
<fac key="ro.fac.boardid" value="S900_M08_P05_GPRS_MG323" />
</property>
</devinfo>

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,10 @@
[setting]
ConnType=1
com=
com_index=-1
Dest_IP=
Dest_port=5555
CloseType=0
download_mode=1
Language=0
sync_time=1

Binary file not shown.

View File

@ -0,0 +1,6 @@
[machinfo]
;格式Prolin版本=对应机型(英文字母隔开)
2.4=S300,S800,S900,S920,D200,K800,D820PRT,S900_ECR
2.5=PX5,PX7,S920
2.6=Q80,Q80S,Q90,Q90S,Q30,Q30S,D220,QR55,Q50
2.7=SP200

Binary file not shown.

Binary file not shown.

Binary file not shown.