fobbit-0.61, creative voip blaster driver/software

This commit is contained in:
jolan 2006-05-12 01:29:41 +00:00
parent 577c3dc20d
commit ee0295effd
8 changed files with 246 additions and 0 deletions

View File

@ -0,0 +1,4 @@
MD5 (fobbit-0.61.tar.gz) = 52b974805f579593cc067ad69aaf402d
RMD160 (fobbit-0.61.tar.gz) = efce3596fdfb1c95e4d37dba62e0e3fb686d9a34
SHA1 (fobbit-0.61.tar.gz) = cc8d4df15e82fd25f9b3d9267fc36dd5110f8a7b
SIZE (fobbit-0.61.tar.gz) = 153303

View File

@ -0,0 +1,22 @@
$OpenBSD: patch-src_ini_c,v 1.1.1.1 2006/05/12 01:29:41 jolan Exp $
--- src/ini.c.orig Mon Nov 22 23:41:32 2004
+++ src/ini.c Thu May 4 01:15:06 2006
@@ -6,6 +6,7 @@
// routines to read and parse a initialization file
//
+#include <ctype.h>
#include "vblast.h"
// ---------------------------------------------------------------------------
@@ -45,8 +46,8 @@ static char *public_address_udp = NULL
int can_accept_inbound = 1 ; // default is YES
int cpc_duration = 0 ; // default is OFF
int force_dial = 1 ; // default is ON
- char *sound_ringback = "sounds/ringback.723";
- char *sound_busy = "sounds/busy.723" ;
+ char *sound_ringback = "_PREFIX_/share/fobbit/sounds/ringback.723";
+ char *sound_busy = "_PREFIX_/share/fobbit/sounds/busy.723" ;
char *sound_dialtone = NULL ; // default is internal
char *sound_dialtone_hs = NULL ; // deafult is none

View File

@ -0,0 +1,113 @@
$OpenBSD: patch-src_usb_bsd_c,v 1.1.1.1 2006/05/12 01:29:41 jolan Exp $
--- src/usb_bsd.c.orig Mon Nov 22 23:41:32 2004
+++ src/usb_bsd.c Tue Aug 2 19:56:03 2005
@@ -278,13 +278,13 @@ validate_descriptors(int fd, usb_device_
// -----------------------------------------------------------------------
memset(&conf, 0, sizeof(conf));
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
conf.ucd_config_index = 0;
#else
conf.config_index = 0; // there is only one configuration
#endif
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
conf.ucd_desc.bLength = USB_CONFIG_DESCRIPTOR_SIZE;
#else
conf.desc.bLength = USB_CONFIG_DESCRIPTOR_SIZE; // only get first part
@@ -296,7 +296,7 @@ validate_descriptors(int fd, usb_device_
return 0;
}
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
if(check_desc_config(&(conf.ucd_desc)) == 0) { return 0; } // not valid
#else
if(check_desc_config(&(conf.desc)) == 0) { return 0; } // not valid
@@ -307,25 +307,25 @@ validate_descriptors(int fd, usb_device_
memset(&intf, 0, sizeof(intf));
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
intf.uid_config_index = 0;
#else
intf.config_index = 0;
#endif
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
intf.uid_interface_index = 0;
#else
intf.interface_index = 0;
#endif
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
intf.uid_alt_index = 0;
#else
intf.alt_index = 0;
#endif
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
intf.uid_desc.bLength = USB_INTERFACE_DESCRIPTOR_SIZE;
#else
intf.desc.bLength = USB_INTERFACE_DESCRIPTOR_SIZE;
@@ -337,7 +337,7 @@ validate_descriptors(int fd, usb_device_
return 0;
}
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
if(check_desc_interface(&(intf.uid_desc)) == 0) { return 0; } // not valid
#else
if(check_desc_interface(&(intf.desc)) == 0) { return 0; } // not valid
@@ -350,31 +350,31 @@ validate_descriptors(int fd, usb_device_
for(i = 0; i < 4; i++) // get endpoint descriptors
{
memset(&endp, 0, sizeof(endp));
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
endp.ued_config_index = 0;
#else
endp.config_index = 0;
#endif
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
endp.ued_interface_index = 0;
#else
endp.interface_index = 0;
#endif
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
endp.ued_alt_index = 0;
#else
endp.alt_index = 0;
#endif
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
endp.ued_endpoint_index = i;
#else
endp.endpoint_index = i;
#endif
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
endp.ued_desc.bLength = USB_ENDPOINT_DESCRIPTOR_SIZE;
#else
endp.desc.bLength = USB_ENDPOINT_DESCRIPTOR_SIZE;
@@ -386,7 +386,7 @@ validate_descriptors(int fd, usb_device_
return 0;
}
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
if(check_desc_endpoint(&(endp.ued_desc), i) == 0) { return 0; }
#else
if(check_desc_endpoint(&(endp.desc), i) == 0) { return 0; }

View File

@ -0,0 +1,51 @@
$OpenBSD: patch-src_usb_desc_c,v 1.1.1.1 2006/05/12 01:29:41 jolan Exp $
--- src/usb_desc.c.orig Mon Nov 22 23:41:32 2004
+++ src/usb_desc.c Thu May 4 02:48:54 2006
@@ -74,8 +74,8 @@ check_is_vblaster(struct usb_device_desc
if((dp->bLength != 18) ||
(dp->bDescriptorType != 1) ||
- (dp->idVendor != 0x1292) ||
- (dp->idProduct != 0x0258))
+ (letoh16(dp->idVendor) != 0x1292) ||
+ (letoh16(dp->idProduct) != 0x0258))
{
return 0; // not a voip-blaster
}
@@ -103,14 +103,14 @@ check_desc_device(void *v)
check_desc(bLength , 18)
check_desc(bDescriptorType , 1)
- check_desc(bcdUSB , 0x0100) // USB 1.0
+ check_desc(bcdUSB , letoh16(0x0100)) // USB 1.0
check_desc(bDeviceClass , 0) // no class here
check_desc(bDeviceSubClass , 0) // no sub-class here
check_desc(bDeviceProtocol , 0) // no specific protocol
check_desc(bMaxPacketSize , 16) // size for endpoing 0
- check_desc(idVendor , 0x1292) // vendor id
- check_desc(idProduct , 0x0258) // vendor product id
- check_desc(bcdDevice , 0x0100) // device release 1.0
+ check_desc(idVendor , letoh16(0x1292)) // vendor id
+ check_desc(idProduct , letoh16(0x0258)) // vendor product id
+ check_desc(bcdDevice , letoh16(0x0100)) // device release 1.0
check_desc(iManufacturer , 0) // no strings
check_desc(iProduct , 0) // no strings
check_desc(iSerialNumber , 0) // no strings
@@ -130,7 +130,7 @@ check_desc_config(void *v)
check_desc(bLength , 9)
check_desc(bDescriptorType , 2)
- check_desc(wTotalLength , 46)
+ check_desc(wTotalLength , letoh16(46))
check_desc(bNumInterface , 1) // only 1 interface
check_desc(bConfigurationValue, 1) // for SetConfig
check_desc(iConfiguration , 0) // no strings
@@ -178,7 +178,7 @@ check_desc_endpoint(void *v, int i)
check_desc(bDescriptorType , 5)
check_desc(bEndpointAddress, addr[i])
check_desc(bmAttributes , 3) // all are 'interrupt'
- check_desc(wMaxPacketSize , size[i])
+ check_desc(wMaxPacketSize , letoh16(size[i]))
check_desc(bInterval , 30)
MSG(("Addr(0x%02x:%s) Size(%04d)\n", p->bEndpointAddress,

View File

@ -0,0 +1,18 @@
$OpenBSD: patch-src_vb_ini,v 1.1.1.1 2006/05/12 01:29:41 jolan Exp $
--- src/vb.ini.orig Mon Nov 22 23:41:32 2004
+++ src/vb.ini Wed May 3 23:20:48 2006
@@ -94,10 +94,10 @@
# various sound files to use, seems if use dialtone file causes dialing issues
# ringback and busy are required, but if dialtone not specified uses builtin
- FILE_RINGBACK "sounds/ringback.723"
- FILE_BUSY "sounds/busy.723"
-#FILE_DIALTONE "sounds/dialtone.723"
- FILE_DIALTONE_HEADSET "sounds/dialtone.723"
+ FILE_RINGBACK "_PREFIX_/share/fobbit/sounds/ringback.723"
+ FILE_BUSY "_PREFIX_/share/fobbit/sounds/busy.723"
+#FILE_DIALTONE "_PREFIX_/share/fobbit/sounds/dialtone.723"
+ FILE_DIALTONE_HEADSET "_PREFIX_/share/fobbit/sounds/dialtone.723"
# this controls how to dial, first is number of seconds from off-hook till
# must enter the first digit, second is how many seconds from last digit

View File

@ -0,0 +1,22 @@
$OpenBSD: patch-src_vblast_h,v 1.1.1.1 2006/05/12 01:29:41 jolan Exp $
--- src/vblast.h.orig Mon Nov 22 23:41:32 2004
+++ src/vblast.h Tue Aug 2 19:38:33 2005
@@ -20,7 +20,7 @@
#endif
#endif
-#ifdef __NetBSD__
+#if defined(__NetBSD__) || defined(__OpenBSD__)
# define VB_IS_UNIX 1
# define USE_SIN_LEN 1
# define USE_UGEN 1
@@ -50,7 +50,8 @@
# include <stdlib.h>
# include <machine/limits.h>
#else
-# include <malloc.h>
+# include <stdlib.h>
+# include <unistd.h>
#endif
# include <sys/select.h>
# include <sys/socket.h>

View File

@ -0,0 +1,7 @@
fobbit is software to use the Creative Labs USB VOIP Blaster. The
application is not very elegant but it gets the job done. It uses TCP
for signaling and UDP for the voice traffic. It can be configured to
use TCP for both types of traffic since this plays better with
firewalls, NAT, and other internet connection-sharing schemes. With
this software, most of the work is done at the user level, the drivers
only provide access to the usb-pipes implemented in the hardware.

View File

@ -0,0 +1,9 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2006/05/12 01:29:41 jolan Exp $
bin/vb
share/examples/fobbit/
share/examples/fobbit/vb.ini
share/fobbit/
share/fobbit/sounds/
share/fobbit/sounds/busy.723
share/fobbit/sounds/dialtone.723
share/fobbit/sounds/ringback.723