diff -ru pjbmanager-0.2.1.orig/pjbapi/pjbdev_linux.c pjbmanager-0.2.1/pjbapi/pjbdev_linux.c
--- pjbmanager-0.2.1.orig/pjbapi/pjbdev_linux.c	Wed Jun  7 13:06:57 2000
+++ pjbmanager-0.2.1/pjbapi/pjbdev_linux.c	Wed Dec 27 16:47:16 2000
@@ -105,7 +105,11 @@
 
 PJBCOMMDEV *pjbdev = &pjbdev_linuxusb;
 
-static char *pjbdev_devname = "/dev/cpqpjb";
+static char *pjbdev_devnames[3] = {
+    "/dev/cpqpjb",
+    "/dev/usb/cpqpjb",
+    NULL
+};
 
 extern int PJB_GetInfo1(PJBCOMMHANDLE *pjbdev,PJB_INFO *info);
 
@@ -263,6 +267,7 @@
 {
     ENUMINFO enuminfo;
     int cnt;
+    int curdev;
 
     memset(&enuminfo,0,sizeof(enuminfo));
     enuminfo.ids = ids;
@@ -280,7 +285,8 @@
     // for now, we only have one device.
     //
 
-    pjbdev_enumfunc(pjbdev_devname,&enuminfo);
+    for (curdev = 0; pjbdev_devnames[curdev]; curdev++)
+        pjbdev_enumfunc(pjbdev_devnames[curdev],&enuminfo);
 
     return enuminfo.idcnt;
 }
@@ -289,6 +295,7 @@
 PJBCOMMHANDLE *pjbdev_open(PJB_ID *id)
 {
     OPENINFO openinfo;
+    int curdev;
 
     openinfo.openssn = id->b;
     openinfo.devinfo = NULL;
@@ -301,7 +308,11 @@
     // for now, we only have one device.
     //
 
-    pjbdev_openfunc("/dev/cpqpjb",&openinfo);
+    for (curdev = 0; pjbdev_devnames[curdev]; curdev++) {
+        pjbdev_openfunc(pjbdev_devnames[curdev], &openinfo);
+        if (openinfo.devinfo)
+            break;
+    }
 
     return openinfo.devinfo;
 }
diff -ru pjbmanager-0.2.1.orig/pjbapi/pjbproto.c pjbmanager-0.2.1/pjbapi/pjbproto.c
--- pjbmanager-0.2.1.orig/pjbapi/pjbproto.c	Wed Jun  7 13:06:57 2000
+++ pjbmanager-0.2.1/pjbapi/pjbproto.c	Wed Dec 27 16:46:39 2000
@@ -303,7 +303,7 @@
 	    Strings are stored with their null terminators.
 */
 
-    while (itemcode = va_arg(marker,u16)) {
+    while ((itemcode = va_arg(marker,int))) {
 	switch (IT_TYPE(itemcode)) {
 	    case IT_UINT:
 		ebuf_add_u16(buf,itemcode);
@@ -434,7 +434,7 @@
     va_start(marker,buf);
 
     for (;;) {
-	itemcode = va_arg(marker,u16);
+	itemcode = va_arg(marker,int);
 	if (itemcode == 0) break;
 	itemdest = va_arg(marker,void *);
 	itemval = pjbproto_find_item(buf,itemcode,&itemlen);
