You can subscribe to this list here.
2001 |
Jan
|
Feb
(44) |
Mar
(202) |
Apr
(134) |
May
(89) |
Jun
(94) |
Jul
(58) |
Aug
(58) |
Sep
(56) |
Oct
(75) |
Nov
(26) |
Dec
(14) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(24) |
Feb
(30) |
Mar
(15) |
Apr
(49) |
May
(12) |
Jun
(6) |
Jul
(11) |
Aug
(20) |
Sep
(19) |
Oct
(3) |
Nov
(13) |
Dec
(1) |
2003 |
Jan
(7) |
Feb
(4) |
Mar
(7) |
Apr
(5) |
May
(6) |
Jun
(3) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(51) |
Dec
(1) |
2004 |
Jan
(11) |
Feb
(5) |
Mar
|
Apr
(5) |
May
(2) |
Jun
|
Jul
(21) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Alain P. <apa...@us...> - 2002-08-09 09:03:38
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- rfcomm.c 1.135 1.136=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: I temporarly removed the information of the server channel during deconnect= ion, because the behavior is not always the same. It depends on what stack = is on the other side. You now still have deconnection information, but it will always say "0" as = server channel. I hope I'll correct that soon. The diff of the modified file(s): --- rfcomm.c 9 Aug 2002 07:15:53 -0000 1.135 +++ rfcomm.c 9 Aug 2002 09:03:36 -0000 1.136 @@ -1258,6 +1258,7 @@ rfcomm->dlci[tmp_dlci].state =3D DISCONNECTED; send_ua(rfcomm, tmp_dlci); =20=09=09=09 +#if 0 /* Removed temporarly, because this generates two informations (wit= h the previous) */=09=09 #ifdef CONFIG_BLUETOOTH_PROC new_con_srv_channel =3D tmp_dlci >> 1; new_con_line =3D rfcomm->line; @@ -1265,6 +1266,7 @@ /* Wake up if someone reads the proc file */ wake_up_interruptible(&channel_con_wq);=09=09 #endif +#endif /* if 0 */ D_CTRL("dlci %d was disconnected\n", tmp_dlci); bt_disconnect_ind(CREATE_RFCOMM_ID(rfcomm->line,=20 tmp_dlci)); |
From: Alain P. <apa...@us...> - 2002-08-09 07:15:55
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- rfcomm.c 1.134 1.135=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Inform Proc file of deconnection even if on dlci 0. I added that because otherwise if the remote device uses BlueZ stack, the p= roc file is not informed of the deconnection. FIXE ME : I can't get the server channel number that will be disconnected. The diff of the modified file(s): --- rfcomm.c 5 Aug 2002 15:38:11 -0000 1.134 +++ rfcomm.c 9 Aug 2002 07:15:53 -0000 1.135 @@ -1243,6 +1243,16 @@ =20 DSYS("RFCOMM control ch disconnected (remotely) [line:%d]\n",=20 rfcomm->line); +#ifdef CONFIG_BLUETOOTH_PROC + /* Fix me : channel 0 is not the right channel. How to get the channel */ + /* number that will be disconnected ? */ + new_con_srv_channel =3D tmp_dlci >> 1; + new_con_line =3D rfcomm->line; + new_con_connected =3D 0; // Disconnection + /* Wake up if someone reads the proc file */ + wake_up_interruptible(&channel_con_wq);=09=09 +#endif + send_ua(rfcomm, 0); } else { rfcomm->dlci[tmp_dlci].state =3D DISCONNECTED; |
From: Anders J. <and...@us...> - 2002-08-06 17:56:16
|
The following files were modified in apps/bluetooth/experimental: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bt_if.c 1.49 1.50=20=20=20=20=20=20=20=20=20=20=20=20=20=20 bt_if.h 1.35 1.36=20=20=20=20=20=20=20=20=20=20=20=20=20=20 btdisc.c 1.6 1.7=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: * Added IOCTL to disconnect the BB based on the BD-address. * btdisc can now be called with the argument -a <BD>. The diff of the modified file(s): --- bt_if.c 17 Jun 2002 13:47:58 -0000 1.49 +++ bt_if.c 6 Aug 2002 17:56:15 -0000 1.50 @@ -65,7 +65,7 @@ #include "bt_user.h" #include "bt_errno.h" =20 -#define D(x) //x +#define D(x) =20 /* =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D */ /* Functions common for kernel and usermode stack */ @@ -327,6 +327,31 @@ } =20=20=20 ret_val =3D bt_disconnect(con_id); +#endif + return ret_val; +} + +/* Disconnect the BlueTooth - BlueTooth connection (Consafe) + * Parameter : Remote BT device BT Address=20 + */ +int +bt_disconnect_bb(int bt_fd, unsigned char *rem_bd) +{ + unsigned char buf[6]; + int i, ret_val =3D 0; + + /* Reverse before get handler */ + for (i =3D 0; i < 6; i++) + { + buf[5-i] =3D (unsigned char)*rem_bd++; + } +#ifndef BT_USERSTACK + if ((ret_val =3D ioctl(bt_fd, BTDISCONNECT_BB, buf)) < 0) + printf("Disconnect BB failed [%s (%d)] err=3D%s\n", error_msg(ret_val)= , MSG_GET_CODE(-ret_val), strerror(errno)); + else + printf("BB Disconnected\n"); +#else + fprintf(stderr, __FUNCTION__ ": not yet implemented...\n"); #endif return ret_val; } --- bt_if.h 3 Jun 2002 10:07:28 -0000 1.35 +++ bt_if.h 6 Aug 2002 17:56:15 -0000 1.36 @@ -137,6 +137,9 @@ //#define BT_SDP_REQUEST _IOW(BT_IOC_MAGIC, 0x0F, bt_sdp_request) #define BT_GETCACHEDLINKKEY _IOWR(BT_IOC_MAGIC, 0x10, unsigned char[22]) =20 +/* Disconnect the BB connection (Consafe) */ +#define BTDISCONNECT_BB _IOW(BT_IOC_MAGIC, 0x11, unsigned char[6]) + /* =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D */ /* Ioctls for executing HCI commands */ =20 @@ -327,6 +330,7 @@ =20 int bt_connect(int bt_fd, unsigned char *bd, unsigned int con_id); int bt_disconnect(int bt_fd, unsigned int con_id); +int bt_disconnect_bb(int bt_fd, unsigned char *rem_bd); /* (Consafe) */ =20 void bt_waitline(int bt_fd, int line); void bt_waitconnection(int bt_fd, int line); --- btdisc.c 14 May 2001 11:29:36 -0000 1.6 +++ btdisc.c 6 Aug 2002 17:56:15 -0000 1.7 @@ -63,9 +63,12 @@ #include "bt_misc.h" =20=20=20=20=20 #define DEFAULT_BTDEV "/dev/ttyBT0" +#define D(x) =20 /*=20 * Syntax: btdisc [-d <dev>] -D <rfcomm dlci>=20 + * also -a <bd_address_string> (disconnect BB Consafe) + * bd_address_string example : 00:40:8c:cd:00:00=20=20 */ =20 int @@ -73,7 +76,10 @@ { char *btdev =3D DEFAULT_BTDEV; int con_id, bt_cfd, dlci =3D -1, line, opt; - int result; + int result =3D 0; + unsigned char bd[6]; + int i, use_bd =3D 0, error =3D 0; + int tmp[6]; =20 /* Print header if called via http */ if (getenv("REQUEST_METHOD") !=3D NULL) @@ -82,7 +88,7 @@ } =20 /* now parse options */ - while ((opt =3D getopt(argc, argv, "d:D:")) !=3D -1) + while ((opt =3D getopt(argc, argv, "a:d:D:")) !=3D -1) { switch (opt) { @@ -97,15 +103,38 @@ printf("RFCOMM dlci: %d\n", dlci); break; =20=20=20=20=20=20=20 + case 'a': + if (sscanf(optarg, "%2x:%2x:%2x:%2x:%2x:%2x", + &tmp[0], &tmp[1], &tmp[2], + &tmp[3], &tmp[4], &tmp[5]) =3D=3D 6) + {=20 + for (i =3D 0; i < 6; i++) + { + bd[i] =3D (unsigned char)tmp[i];=20 + }=20=20=20=20=20=20 +=20=20=20=20=20=20=20=20 + D(syslog(LOG_INFO,"Rem. Address:%2x:%2x:%2x:%2x:%2x:%2x\n", + bd[0], bd[1], bd[2], + bd[3], bd[4], bd[5])); + use_bd =3D 1; + }=20 + else=20 + { + error =3D 1; + }=20=20 + break; + +=20=20=20=20=20=20 default: break; } } =20 - if (optind < argc || dlci < 0) + if (optind < argc || (dlci < 0 && !use_bd) || error) { printf("Wrong syntax or missing parameters\n"); printf("Syntax: %s [-d <dev>] -D <rfcomm dlci>\n", argv[0]); + printf(" %s -a <BD address>\n", argv[0]); exit(0); } =20 @@ -123,15 +152,23 @@ exit(1); } =20 + if(!use_bd)=20 + { line =3D atoi((char*)(btdev+10)); =20=20=20 - /* Connect RFCOMM session on line */ + /* Disconnect RFCOMM session on line */ printf("Disconnecting line %d [%s]\n", line, btdev); + D(syslog(LOG_INFO,"Disconnecting line %d [%s]\n", line, btdev)); =20 con_id =3D CREATE_RFCOMM_ID(line, dlci); =20 result =3D bt_disconnect(bt_cfd, con_id); - + }=20 + else=20 + { + /* Disconnect any connection which match the remote bd, i.e. the baseb= andconnection */ + bt_disconnect_bb(bt_cfd, bd); + } close(bt_cfd); exit(result); } |
From: Anders J. <and...@us...> - 2002-08-06 17:53:31
|
The following file was modified in linux/include/linux/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- btcommon.h 1.95 1.96=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: * Added BTDISCONNECT_BB The diff of the modified file(s): --- btcommon.h 8 Apr 2002 10:07:45 -0000 1.95 +++ btcommon.h 6 Aug 2002 17:53:30 -0000 1.96 @@ -148,6 +148,7 @@ #define BTISLOWERCONNECTED _IOW(BT_IOC_MAGIC, 0x0E, s32) #define BT_SDP_REQUEST _IOW(BT_IOC_MAGIC, 0x0F, bt_sdp_request) #define BT_GETCACHEDLINKKEY _IOWR(BT_IOC_MAGIC, 0x10, u8[22]) +#define BTDISCONNECT_BB _IOW(BT_IOC_MAGIC, 0x11, u8[6]) =20 /* Ioctls executing HCI commands */ =20 |
From: Anders J. <and...@us...> - 2002-08-06 17:52:45
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bluetooth.c 1.231 1.232=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: * Added BTDISCONNECT_BB to disconnect the BB based on the BD-address. The diff of the modified file(s): --- bluetooth.c 5 Aug 2002 15:38:11 -0000 1.231 +++ bluetooth.c 6 Aug 2002 17:52:14 -0000 1.232 @@ -86,6 +86,7 @@ #include <linux/bluetooth/hci.h> #include <linux/bluetooth/hci_internal.h> #include <linux/bluetooth/l2cap.h> +#include <linux/bluetooth/l2cap_con.h> #include <linux/bluetooth/rfcomm.h> #include <linux/bluetooth/tcs.h> #include <linux/bluetooth/sdp.h> @@ -620,6 +621,29 @@ BT_DRIVER(__FUNCTION__ ": BTDISCONNECT\n"); copy_from_user(&con_id, (s32*)arg, size); return bt_disconnect(con_id); + } + + case BTDISCONNECT_BB: + { + /* Disconnect the BB connection (Consafe)=20 + The bd_addr is reversed=20 + */ + u8 bd_addr[6]; + l2cap_con *con_str; + + copy_from_user(bd_addr, (s32*)arg, 6); +=09=09 + BT_DRIVER(__FUNCTION__ ": BTDISCONNECT_BT %02x:%02x:%02x:%02x:%02x:%02x:= \n",=20 + bd_addr[0], bd_addr[1], bd_addr[2], + bd_addr[3], bd_addr[4], bd_addr[5]); +=09=09 + if ((con_str =3D get_con(bd_addr, ANY_STATE))=3D=3D NULL)=20 + { + D_ERR(__FUNCTION__ ": couldn't find l2cap con!\n"); + return -MSGCODE(MSG_BT_INTERFACE, BT_NOTCONNECTED); + } +=09=09 + return lp_disconnect(con_str->hci_hdl); } =20 case BTWAITFORCONNECTION: |
From: Alain P. <apa...@us...> - 2002-08-05 15:38:12
|
The following files were modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bluetooth.c 1.230 1.231=20=20=20=20=20=20=20=20=20=20=20=20=20 bt_proc.c 1.25 1.26=20=20=20=20=20=20=20=20=20=20=20=20=20=20 rfcomm.c 1.133 1.134=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Added information in proc file bt_channel_con when disconnecting. New synta= x is : <line>:<server channel>:<state> where <state> is either "connected" or "disconnected". The diff of the modified file(s): --- bluetooth.c 1 Aug 2002 16:13:17 -0000 1.230 +++ bluetooth.c 5 Aug 2002 15:38:11 -0000 1.231 @@ -277,6 +277,7 @@ #ifdef CONFIG_BLUETOOTH_PROC extern int new_con_srv_channel; extern int new_con_line; +extern int new_con_connected; =20 #ifdef __KERNEL__ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) @@ -2398,6 +2399,7 @@ #ifdef CONFIG_BLUETOOTH_PROC new_con_srv_channel =3D bt_ctrl.session[line].dlci >> 1; new_con_line =3D line; + new_con_connected =3D 1; // New connection /* Wake up if someone reads the proc file */ wake_up_interruptible(&channel_con_wq); #endif @@ -2517,6 +2519,7 @@ void bt_disconnect_ind(u32 con_id) { +=09 if (GET_PSM(con_id) =3D=3D RFCOMM_LAYER) BT_DRIVER(__FUNCTION__ ": RFCOMM dlci: %d\n", GET_RFCOMMDLCI(con_id)); --- bt_proc.c 1 Aug 2002 16:19:28 -0000 1.25 +++ bt_proc.c 5 Aug 2002 15:38:11 -0000 1.26 @@ -113,9 +113,10 @@ =20 #ifdef CONFIG_BLUETOOTH_PROC =20 -/* Next variables are declared in bluetooth.c */ +/* Next variables are used to store information to write in channel_con pr= oc file */ int new_con_srv_channel; int new_con_line; +int new_con_connected; // 0 =3D disconnected, 1 =3D connected =20 =20 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) @@ -400,9 +401,12 @@ /* Maximum : 6:30, so 5 characters with \0 */ =20 position =3D 0; - position +=3D sprintf(buf + position,"%d", new_con_line); - position +=3D sprintf(buf + position, ":"); - position +=3D sprintf(buf + position, "%d\n", new_con_srv_channel); + position +=3D sprintf(buf + position,"%d:", new_con_line); + position +=3D sprintf(buf + position, "%d:", new_con_srv_channel); + if (new_con_connected) + position +=3D sprintf(buf + position, "connected\n"); + else + position +=3D sprintf(buf + position, "disconnected\n"); =20=09 return position;=09 } --- rfcomm.c 11 Apr 2002 10:19:50 -0000 1.133 +++ rfcomm.c 5 Aug 2002 15:38:11 -0000 1.134 @@ -501,6 +501,23 @@ =20 /****************** GLOBAL VARIABLE DECLARATION SECTION ******************= ***/ =20 +/****************** EXTERNAL VARIABLE DECLARATION SECTION ****************= ***/ + +/* Use global variables to store line and server channel of a new incoming= connection */ +#ifdef CONFIG_BLUETOOTH_PROC +extern int new_con_srv_channel; +extern int new_con_line; +extern int new_con_connected; +#endif + +#ifdef __KERNEL__ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) +extern struct wait_queue *channel_con_wq =3D NULL; +#else +extern wait_queue_head_t channel_con_wq; +#endif /* LINUX_VERSION_CODE */ +#endif /* __KERNEL__ */ + /****************** LOCAL VARIABLE DECLARATION SECTION *******************= ***/ =20 /* The crctable for the FEC field */ @@ -1177,6 +1194,14 @@ rfcomm->dlci[tmp_dlci].state =3D DISCONNECTED; tmp =3D get_connected_dlci(rfcomm); =20 +#ifdef CONFIG_BLUETOOTH_PROC + new_con_srv_channel =3D tmp_dlci >> 1; + new_con_line =3D rfcomm->line; + new_con_connected =3D 0; // Disconnection + /* Wake up if someone reads the proc file */ + wake_up_interruptible(&channel_con_wq);=09=09 +#endif=09 + if (tmp >=3D 0) { rfcomm->dlci[tmp].state =3D DISCONNECTING; send_disc(rfcomm, tmp); @@ -1222,6 +1247,14 @@ } else { rfcomm->dlci[tmp_dlci].state =3D DISCONNECTED; send_ua(rfcomm, tmp_dlci); +=09=09=09 +#ifdef CONFIG_BLUETOOTH_PROC + new_con_srv_channel =3D tmp_dlci >> 1; + new_con_line =3D rfcomm->line; + new_con_connected =3D 0; // Disconnection + /* Wake up if someone reads the proc file */ + wake_up_interruptible(&channel_con_wq);=09=09 +#endif D_CTRL("dlci %d was disconnected\n", tmp_dlci); bt_disconnect_ind(CREATE_RFCOMM_ID(rfcomm->line,=20 tmp_dlci)); |
From: Alain P. <apa...@us...> - 2002-08-02 08:56:54
|
The following file was modified in apps/bluetooth/experimental: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bt_vendor.c 1.38 1.39=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Added a simple way to include config.h if you use configure when compiling OpenBT. The diff of the modified file(s): --- bt_vendor.c 31 Jul 2002 09:50:42 -0000 1.38 +++ bt_vendor.c 2 Aug 2002 08:56:52 -0000 1.39 @@ -56,6 +56,13 @@ #include "bt_vendor.h" #include "bt_if.h" =20 +/* If you use configure scripts, just define ENABLE_CONFIGURE_INCLUDES */ +/* to include the generated .h file */ + +#ifdef ENABLE_CONFIGURE_INCLUDES +#include <config.h> +#endif + #define D(x) //x =20 static void csr_init_phys(int fd, int flow_control); @@ -291,7 +298,6 @@ unsigned short msg[CSR_PSKEY_MAXPARAMS + CSR_PSKEY_MSGHDR_SIZE]; =20 #ifndef CONFIG_BLUETOOTH_SD_SPECIFIC - syslog(LOG_INFO, __FUNCTION__": ps_key 0x%x rw_mode : %d", ps_key, rw_mo= de); =20 msg[0] =3D ps_key; |
From: Peter K. <pk...@us...> - 2002-08-01 16:19:29
|
The following files were modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bcsp.c 1.23 1.24=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 bcsp_datagram.c 1.11 1.12=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 bcsp_mux.c 1.11 1.12=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 bcsp_sequence.c 1.21 1.22=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 bcsp_slip.c 1.9 1.10=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 bt_proc.c 1.24 1.25=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 btmem.c 1.50 1.51=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 hci_sec.c 1.3 1.4=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 l2cap_con.c 1.13 1.14=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 l2cap_sec.c 1.5 1.6=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 rfcomm_sec.c 1.10 1.11=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 sec_client.c 1.25 1.26=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 tcs.c 1.16 1.17=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 test.c 1.36 1.37=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 unplug_test.c 1.13 1.14=20=20=20=20=20=20=20=20=20=20=20=20=20= =20 The accompanying log: Include linux/version.h before checking LINUX_VERSION_CODE. The diff of the modified file(s): --- bcsp.c 11 Apr 2002 08:32:09 -0000 1.23 +++ bcsp.c 1 Aug 2002 16:19:28 -0000 1.24 @@ -44,6 +44,7 @@ #define __NO_VERSION__ /* don't define kernel_version in module.h */ =20 #ifdef __KERNEL__ +#include <linux/version.h> #if LINUX_VERSION_CODE >=3D 0x20200 #include <linux/slab.h> #else --- bcsp_datagram.c 11 Apr 2002 08:33:23 -0000 1.11 +++ bcsp_datagram.c 1 Aug 2002 16:19:28 -0000 1.12 @@ -45,6 +45,7 @@ #define __NO_VERSION__ /* don't define kernel_version in module.h */ =20 #ifdef __KERNEL__ +#include <linux/version.h> #if LINUX_VERSION_CODE >=3D 0x20200 #include <linux/slab.h> #else --- bcsp_mux.c 11 Apr 2002 08:34:29 -0000 1.11 +++ bcsp_mux.c 1 Aug 2002 16:19:28 -0000 1.12 @@ -44,6 +44,7 @@ #define __NO_VERSION__ /* don't define kernel_version in module.h */ =20 #ifdef __KERNEL__ +#include <linux/version.h> #if LINUX_VERSION_CODE >=3D 0x20200 #include <linux/slab.h> #else --- bcsp_sequence.c 11 Apr 2002 08:35:22 -0000 1.21 +++ bcsp_sequence.c 1 Aug 2002 16:19:28 -0000 1.22 @@ -45,6 +45,7 @@ #define __NO_VERSION__ /* don't define kernel_version in module.h */ =20 #ifdef __KERNEL__ +#include <linux/version.h> #if LINUX_VERSION_CODE >=3D 0x20200 #include <linux/slab.h> #else --- bcsp_slip.c 11 Apr 2002 08:36:05 -0000 1.9 +++ bcsp_slip.c 1 Aug 2002 16:19:28 -0000 1.10 @@ -44,6 +44,7 @@ #define __NO_VERSION__ /* don't define kernel_version in module.h */ =20 #ifdef __KERNEL__ +#include <linux/version.h> #if LINUX_VERSION_CODE >=3D 0x20200 #include <linux/slab.h> #else --- bt_proc.c 31 Jul 2002 13:44:38 -0000 1.24 +++ bt_proc.c 1 Aug 2002 16:19:28 -0000 1.25 @@ -44,6 +44,7 @@ #define __NO_VERSION__ /* don't define kernel_version in module.h */ =20 #ifdef __KERNEL__ +#include <linux/version.h> #include <linux/module.h> #include <linux/types.h> #include <linux/errno.h> --- btmem.c 25 Apr 2002 15:09:17 -0000 1.50 +++ btmem.c 1 Aug 2002 16:19:28 -0000 1.51 @@ -44,6 +44,7 @@ #define __NO_VERSION__ /* don't define kernel_version in module.h */ =20 #ifdef __KERNEL__ +#include <linux/version.h> #if LINUX_VERSION_CODE >=3D 0x20200 #include <linux/slab.h> #else @@ -52,10 +53,11 @@ #include <linux/bluetooth/btmem.h> #else #include <stdlib.h> -#include "include/btmem.h" -#include "include/btcommon.h" #include <string.h> /* memset */ #include <errno.h> + +#include "include/btmem.h" +#include "include/btcommon.h" #endif =20 /****************** DEBUG CONSTANT AND MACRO SECTION *********************= ***/ --- hci_sec.c 11 Apr 2002 10:16:01 -0000 1.3 +++ hci_sec.c 1 Aug 2002 16:19:28 -0000 1.4 @@ -44,6 +44,7 @@ #define __NO_VERSION__ /* don't define kernel_version in module.h */ =20 #ifdef __KERNEL__ +#include <linux/version.h> #if LINUX_VERSION_CODE >=3D 0x20200 #include <linux/slab.h> #else --- l2cap_con.c 11 Apr 2002 10:18:19 -0000 1.13 +++ l2cap_con.c 1 Aug 2002 16:19:28 -0000 1.14 @@ -45,6 +45,7 @@ #define __NO_VERSION__ /* don't define kernel_version in module.h */ =20 #ifdef __KERNEL__ +#include <linux/version.h> #if LINUX_VERSION_CODE >=3D 0x20200 #include <linux/slab.h> #else --- l2cap_sec.c 11 Apr 2002 10:19:03 -0000 1.5 +++ l2cap_sec.c 1 Aug 2002 16:19:28 -0000 1.6 @@ -45,6 +45,7 @@ #define __NO_VERSION__ /* don't define kernel_version in module.h */ =20 #ifdef __KERNEL__ +#include <linux/version.h> #if LINUX_VERSION_CODE >=3D 0x20200 #include <linux/slab.h> #else @@ -59,6 +60,7 @@ #include <string.h> #include <sys/time.h> #include <signal.h> + #include "include/l2cap_sec.h" #include "include/l2cap.h" #include "include/sec_client.h" --- rfcomm_sec.c 11 Apr 2002 11:49:49 -0000 1.10 +++ rfcomm_sec.c 1 Aug 2002 16:19:28 -0000 1.11 @@ -45,6 +45,7 @@ #define __NO_VERSION__ /* don't define kernel_version in module.h */ =20 #ifdef __KERNEL__ +#include <linux/version.h> #if LINUX_VERSION_CODE >=3D 0x20200 #include <linux/slab.h> #else --- sec_client.c 1 Aug 2002 16:16:09 -0000 1.25 +++ sec_client.c 1 Aug 2002 16:19:29 -0000 1.26 @@ -44,6 +44,7 @@ #define __NO_VERSION__ /* don't define kernel_version in module.h */ =20 #ifdef __KERNEL__ +#include <linux/version.h> #if LINUX_VERSION_CODE >=3D 0x20200 #include <linux/slab.h> #else --- tcs.c 11 Apr 2002 11:50:46 -0000 1.16 +++ tcs.c 1 Aug 2002 16:19:29 -0000 1.17 @@ -45,6 +45,7 @@ #define __NO_VERSION__ /* don't define kernel_version in module.h */ =20 #ifdef __KERNEL__ +#include <linux/version.h> #if LINUX_VERSION_CODE >=3D 0x20200 #include <linux/slab.h> #else --- test.c 1 Aug 2002 16:18:00 -0000 1.36 +++ test.c 1 Aug 2002 16:19:29 -0000 1.37 @@ -44,6 +44,7 @@ #define __NO_VERSION__ /* don't define kernel_version in module.h */ =20 #ifdef __KERNEL__ +#include <linux/version.h> #if LINUX_VERSION_CODE >=3D 0x20200 #include <linux/slab.h> #else --- unplug_test.c 1 Aug 2002 16:17:59 -0000 1.13 +++ unplug_test.c 1 Aug 2002 16:19:29 -0000 1.14 @@ -43,6 +43,7 @@ #define __NO_VERSION__ /* don't define kernel_version in module.h */ =20 #ifdef __KERNEL__ +#include <linux/version.h> #if LINUX_VERSION_CODE >=3D 0x20200 #include <linux/slab.h> #else |
From: Peter K. <pk...@us...> - 2002-08-01 16:18:04
|
The following files were modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- test.c 1.35 1.36=20=20=20=20=20=20=20=20=20=20=20=20=20=20 unplug_test.c 1.12 1.13=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Fixed a couple of compiler warnings. The diff of the modified file(s): --- test.c 11 Apr 2002 11:51:29 -0000 1.35 +++ test.c 1 Aug 2002 16:18:00 -0000 1.36 @@ -1,9 +1,9 @@ /* * test.c -- Test layer used to verify stack=20=20=20=20=20=20=20 * - * Copyright (C) 2000, 2001 Axis Communications AB + * Copyright (C) 2000, 2001, 2002 Axis Communications AB * - * Author: Mats Friden <mat...@ax...> + * Author: Mats Friden <mat...@ax...> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -55,6 +55,8 @@ #include <linux/bluetooth/btcommon.h> #include <linux/bluetooth/btmem.h> #include <linux/bluetooth/l2cap.h> +#include <linux/bluetooth/l2cap_con.h> +#include <linux/bluetooth/hci.h> #include <linux/bluetooth/unplug_test.h> #else #include <string.h> @@ -254,7 +256,6 @@ return; } =20=09 -=09 if (disable_testpsm =3D=3D 1) { /* send back psm not supp */ @@ -333,8 +334,6 @@ D_ERR("test_config_cfm : Configuration request failed\n"); } } =20=09=09 -=09=09 -=09=09 /* store connection */ if (con->psm =3D=3D L2CAP_TEST_LAYER) testcon =3D con; @@ -357,13 +356,11 @@ if(dont_accept_mtu) { if (l2ca_config_rsp(con, 640, NULL, CONF_FAILURE)) { D_ERR("test_config_ind : Configuration response failed\n"); -=09=09=09 } dont_accept_mtu =3D 0; } else if (l2ca_config_rsp(con, 0, NULL, CONF_SUCCESS)) { D_ERR("test_config_ind : Configuration response failed\n"); -=09=09=09 } =20 /* Are we ready with our sides configuration */=20 @@ -465,7 +462,6 @@ return -1; } =20=09 - /* tx bufs are all the same for each upper layer ... FIX one common */ tx_buf =3D subscribe_bt_buf(sizeof(rfcomm_tx_buf) + len); =20 @@ -488,8 +484,9 @@ test_process_cmd(unsigned char *cmd, s32 size) {=20 #ifdef CONFIG_BLUETOOTH_UNPLUG_TEST - int testcase, tmp[10], i; + int testcase, i; unsigned char bd[6], char_buf[4]; + char_buf[3] =3D 0; if(!strncmp(cmd, "bb_conn ", 8)) { char *p =3D cmd + 8; @@ -515,6 +512,7 @@ } else { printk("test_process_cmd: Couldn't parse testcase\n"); + return -1; } } else if(!strncmp(cmd, "bb_disc ", 8)) { @@ -558,7 +556,7 @@ =20 return test_send_data(con, testdata, len); } else if(!strncmp(cmd, "set_error ", 10)) { - int pos =3D 10, n =3D 0; + int n =3D 0; if(*(cmd + 10) =3D=3D '-') { n =3D -(strtoul(cmd + 11, NULL, 0)); } else { @@ -567,6 +565,7 @@ printk("Setting l2cap size error value =3D %d\n", n); =20=09=09 add_value =3D n; + return 0; } else if(!strncmp(cmd, "sdptest ", 8)) { int n =3D strtoul(cmd+8, NULL, 0);=09 return do_sdp_test(n); --- unplug_test.c 15 May 2002 13:29:42 -0000 1.12 +++ unplug_test.c 1 Aug 2002 16:17:59 -0000 1.13 @@ -1061,11 +1061,13 @@ return test_send_data(testcon, testdata, 672);=09 } =20 +#if 0 static s32 test_2_13_6(void) { printk("test_2_13_6, server sending 672 bytes\n");=20 return test_send_data(testcon, testdata, 672);=09 } +#endif =20 /* * SDP Stuff @@ -1214,7 +1216,6 @@ static s32 sdp_test_53111(void) { static int t =3D 0; - s32 retval; if(!t) { t =3D 1; return sdp_send_data(&sdp_con_list[0], sdp_data_53111_1, sdp_data_53111_= 1[4] + 5); @@ -1222,7 +1223,6 @@ t =3D 0; return sdp_send_data(&sdp_con_list[0], sdp_data_53111_2, sdp_data_53111_= 2[4] + 5); } -=09 } =20 static s32 sdp_test_53112(void) @@ -1707,14 +1707,12 @@ retval =3D sdp_send_data(&sdp_con_list[0], sdp_data_55111_8, sdp_data_55= 111_8[4] + 5); t =3D 0; break; -=09=09 }=20 return retval; } =20 static s32 sdp_test_55112(void) { -=20=20 static int t =3D 0; s32 retval =3D 0; =20 @@ -1990,6 +1988,7 @@ return rfcomm_rpn_msg(&rfcomm_con_list[0], MCC_CMD, 4, 1); } =20 +#if 0 static s32 spp_test_55111(void) { /* Establish a L2CAP channel on PSM 1 (SDP) before doing this test */ @@ -1999,7 +1998,9 @@ =20 return sdp_send_data(&sdp_con_list[0], sdp_query, sdp_query[4] + 5); } +#endif =20 +#if 0 static s32 spp_test_55112(void) { /* Establish a L2CAP channel on PSM 1 (SDP) before doing this test */ @@ -2011,7 +2012,9 @@ =20 return sdp_send_data(&sdp_con_list[0], sdp_query, sdp_query[4] + 5); } +#endif =20 +#if 0 static s32 spp_test_55113(void) { /* Establish a L2CAP channel on PSM 1 (SDP) before doing this test */ @@ -2023,6 +2026,7 @@ =20 return sdp_send_data(&sdp_con_list[0], sdp_query, sdp_query[4] + 5); } +#endif =20 =20 static s32 spp_test_56211(void) @@ -2300,11 +2304,13 @@ return 0; } =20 +#if 0 static s32 test_4_25_3(void) { printk("test_4_25_3\n"); return rfcomm_sabm_msg(&rfcomm_con_list[0], 2); } +#endif =20 static s32 test_4_26(void) { @@ -2581,7 +2587,7 @@ =20=20=20=20=20=20=20=20=20 case 99999:=20 emulate_hw_error =3D 1; - break; + return 0; default: printk("Unknown test case\n"); return -1; |
From: Peter K. <pk...@us...> - 2002-08-01 16:16:10
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- sec_client.c 1.24 1.25=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Fixed two compiler warnings. The diff of the modified file(s): --- sec_client.c 11 Apr 2002 11:52:14 -0000 1.24 +++ sec_client.c 1 Aug 2002 16:16:09 -0000 1.25 @@ -157,8 +157,10 @@ const char * buf, s32 count); #endif =20 +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) static s32 sec_man_proc_dir_entry_read(char *buf, char **start, off_t offs= et, s32 len, s32 unused); +#endif #else static s32 open_socket(char *name); static s32 sec_man_doquery(s32 fd, u8 *request); @@ -651,6 +653,7 @@ =20 =20 #ifdef __KERNEL__ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) s32 sec_man_proc_dir_entry_read(char *buf, char **start, off_t offset, s32 len, s32 unused) { @@ -660,6 +663,7 @@ return sec_man_read(NULL, NULL, buf, len); #endif } +#endif =20 #ifdef USE_NEW_PROC ssize_t sec_man_read(struct file * file, char * buf, size_t count, @@ -705,7 +709,7 @@ =20=09 /* Verify that I read at least the number of byte I am waiting */ if (count < sizeof (*sec_hdl)) - D_ERR(__FUNCTION__ ": Only %d bytes were wroten in proc file instead of = %d", count, sizeof (*sec_hdl)); + D_ERR(__FUNCTION__ ": Only %ld bytes were written in proc file instead o= f %d", count, sizeof (*sec_hdl)); =20=09 /* D_XMIT(__FUNCTION__ ": Preparing to send data to sec_con[%d]\n", secb_h= dl->sec_con_id); */ if (sec_hdl->originator =3D=3D BT_SEC_MAN) /* o.k. new request */ |
From: Peter K. <pk...@us...> - 2002-08-01 16:15:13
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- sdp.c 1.88 1.89=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Fixed a compiler warning. The diff of the modified file(s): --- sdp.c 11 Apr 2002 11:48:44 -0000 1.88 +++ sdp.c 1 Aug 2002 16:15:11 -0000 1.89 @@ -162,8 +162,10 @@ const char * buf, s32 count); =20 #endif +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) static s32 sdp_proc_dir_entry_read(char *buf, char **start, off_t offset, s32 len, s32 unused); +#endif =20 #else /* USERMODE STACK */ static s32 open_socket(char *name); @@ -877,6 +879,7 @@ #endif =20 #ifdef __KERNEL__ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) s32 sdp_proc_dir_entry_read(char *buf, char **start, off_t offset, s32 len, s32 unused) { @@ -886,6 +889,7 @@ return sdp_database_read(NULL, NULL, buf, len); #endif } +#endif =20 #ifdef USE_NEW_PROC ssize_t sdp_database_read(struct file *f, char *buf,=20 |
From: Peter K. <pk...@us...> - 2002-08-01 16:13:20
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bluetooth.c 1.229 1.230=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Fixed two compiler warnings. The diff of the modified file(s): --- bluetooth.c 31 Jul 2002 08:21:16 -0000 1.229 +++ bluetooth.c 1 Aug 2002 16:13:17 -0000 1.230 @@ -208,7 +208,9 @@ static s32 bt_ctrl_init(void); static s32 bt_connect(u8 *bd_addr, u32 con_id); static s32 bt_disconnect(u32 con_id); +#if BT_DRIVER_DEBUG static const u8* psmname(u16 psm); +#endif static void wq_timeout(unsigned long ptr); static s32 bt_execute_sdp_request(bt_sdp_request *sdpRequest); =20 @@ -445,7 +447,9 @@ static s32 bt_open(struct tty_struct *tty, struct file * filp) { +#if BT_DRIVER_DEBUG s32 line =3D GET_TTYLINE(tty); +#endif s32 ret_val; =20=09 BT_DRIVER(__FUNCTION__ ": Line %d\n", line);=09 @@ -492,7 +496,6 @@ sertty->driver.flush_chars(sertty); } =20 - static s32=20 bt_write_room(struct tty_struct *tty) { @@ -558,7 +561,6 @@ } } =20=09 -=09 switch (cmd) { case BT_SDP_REQUEST: { @@ -2464,7 +2466,6 @@ return -MSGCODE(MSG_BT_INTERFACE, BT_NOTCONNECTED); } =20=09 - switch(GET_PSM(con_id)) { case RFCOMM_LAYER: @@ -2864,7 +2865,7 @@ static void bt_show_version(void) { - printk("Bluetooth Driver v1.3, Copyright (c) 2000, 2001 Axis Communicatio= ns AB\n"); + printk("Bluetooth Driver v1.3, Copyright (c) 2000, 2001, 2002 Axis Commun= ications AB\n"); } =20 s32 @@ -2932,7 +2933,6 @@ unsigned long page; s32 retval =3D 0; =20=09 - /* shutdown if already initiated */ if (bt_stack_initiated) bt_shutdown(); @@ -2977,7 +2977,6 @@ return retval; } =20=09 - #ifdef CONFIG_BLUETOOTH_SUPPORT_BCSP if (bt_use_bcsp(-1) && !bcsp_issyncronized()) {=20=20 if (bcsp_init() < 0) { @@ -3452,6 +3451,7 @@ return 0; } =20 +#if BT_DRIVER_DEBUG static const u8* psmname(u16 psm) { @@ -3467,10 +3467,11 @@ return "UNKNOWN"; } } +#endif =20 -/* FIXME: Make a general sleepfunction a la L2ca_wait and let the this fun= ction handle all - sleeping. Add a waitqueue object to the timer and let timerdata=3Dbt_ti= mer_obj to set - inuse=3D0 if we timeout */ +/* FIXME: Make a general sleep function a la L2ca_wait and let the this + function handle all sleeping. Add a waitqueue object to the timer and l= et + timerdata=3Dbt_timer_obj to set inuse=3D0 if we timeout */ =20 #if LINUX_VERSION_CODE >=3D KERNEL_VERSION(2,4,0) void |
From: Alain P. <apa...@us...> - 2002-07-31 13:44:40
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bt_proc.c 1.23 1.24=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Added LF in new proc file bt_channel_con The diff of the modified file(s): --- bt_proc.c 31 Jul 2002 08:21:16 -0000 1.23 +++ bt_proc.c 31 Jul 2002 13:44:38 -0000 1.24 @@ -401,7 +401,7 @@ position =3D 0; position +=3D sprintf(buf + position,"%d", new_con_line); position +=3D sprintf(buf + position, ":"); - position +=3D sprintf(buf + position, "%d", new_con_srv_channel); + position +=3D sprintf(buf + position, "%d\n", new_con_srv_channel); =20=09 return position;=09 } |
From: Alain P. <apa...@us...> - 2002-07-31 09:50:43
|
The following file was modified in apps/bluetooth/experimental: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bt_vendor.c 1.37 1.38=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Just added a define for our specific-bigendian problems The diff of the modified file(s): --- bt_vendor.c 22 Jul 2002 19:05:25 -0000 1.37 +++ bt_vendor.c 31 Jul 2002 09:50:42 -0000 1.38 @@ -328,6 +328,7 @@ { unsigned short ps_parbuf; =20 +#ifndef CONFIG_BLUETOOTH_SD_SPECIFIC /* Make sure uart deep sleep is disabled when using BCSP */ csr_pskey(bt_cfd, PSKEY_UART_SLEEP_TIMEOUT,=20 CSR_PSKEY_GETREQ, &ps_parbuf, 1); @@ -340,6 +341,7 @@ CSR_PSKEY_SETREQ, &ps_parbuf, 1);=20=20=20=20 return 1; } +#endif /* CONFIG_BLUETOOTH_SD_SPECIFIC */ return 0; } =20 |
From: Alain P. <apa...@us...> - 2002-07-31 08:26:23
|
The following file was modified in apps/bluetooth/experimental: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- btsec.c 1.2 1.3=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Changed error in warning when no link key file. The diff of the modified file(s): --- btsec.c 24 May 2002 07:46:29 -0000 1.2 +++ btsec.c 31 Jul 2002 08:26:23 -0000 1.3 @@ -129,7 +129,7 @@ DEB_FUNCTIONS ("Enter in init_bt_sec\n"); /* Open the proc file */ if ((proc_fd =3D open (SEC_PROC_FILE_PATH, O_RDWR & (~O_NONBLOCK))) =3D= =3D -1) { - perror ("Error when opening the proc file\n"); + perror ("Error when openening the proc file SEC_PROC_FILE_PATH\n"); return (ERR_OPEN_FILE); } else { @@ -307,11 +307,11 @@ =20 /* Open the link key file */ if ((linkkey_fd =3D fopen (LINK_KEY_FILE_PATH, "r")) =3D=3D NULL) { - ERR ("Error when opening the link key file\n"); + fprintf (stderr, "btsec: warning : unable to open the link key file\n"); return (ERR_OPEN_FILE); } else { - ERR ("No error when opening link key file\n"); + DEB_MISC("Link key file opened\n"); } =20 if (link_key_list.first !=3D NULL) |
From: Alain P. <apa...@us...> - 2002-07-31 08:21:47
|
The following files were modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bluetooth.c 1.228 1.229=20=20=20=20=20=20=20=20=20=20=20=20=20 bt_proc.c 1.22 1.23=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Added a new proc file. This profile is only for read, and is blocking. When a new connection from remote device happen, it recieve next informatio= n : <line>:<server channel> Note that it recieves the same thing when we localy initiate the connection. proc file : bt_channel_con The diff of the modified file(s): --- bluetooth.c 16 May 2002 15:05:52 -0000 1.228 +++ bluetooth.c 31 Jul 2002 08:21:16 -0000 1.229 @@ -264,10 +264,29 @@ =20 /****************** GLOBAL VARIABLE DECLARATION SECTION ******************= ***/ =20 -extern hci_controller hci_ctrl; static u8 btdm_pid =3D 0; + +/****************** EXTERN VARIABLE DECLARATION SECTION ******************= ***/ + +extern hci_controller hci_ctrl; extern u8 name_request_response[BT_NAME_LENGTH + 1]; =20 +/* Use global variables to store line and server channel of a new incoming= connection */ +#ifdef CONFIG_BLUETOOTH_PROC +extern int new_con_srv_channel; +extern int new_con_line; + +#ifdef __KERNEL__ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) +extern struct wait_queue *channel_con_wq =3D NULL; +#else +extern wait_queue_head_t channel_con_wq; +#endif /* LINUX_VERSION_CODE */ +#endif /* __KERNEL__ */ + +#endif /* CONFIG_BLUETOOTH_PROC */ + + /****************** LOCAL VARIABLE DECLARATION SECTION *******************= ***/ =20 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) @@ -2374,7 +2393,12 @@ =20 BT_DRIVER(__FUNCTION__ ": Line %d [%s]\n", line, psmname(psm)); - +#ifdef CONFIG_BLUETOOTH_PROC + new_con_srv_channel =3D bt_ctrl.session[line].dlci >> 1; + new_con_line =3D line; + /* Wake up if someone reads the proc file */ + wake_up_interruptible(&channel_con_wq);=09=09 +#endif release_wq_timer(&bt_ctrl.bt_timer[line]); wake_up_interruptible(&bt_ctrl.connect_wq[line]); wake_up_interruptible(&bt_ctrl.any_wq); @@ -2694,6 +2718,14 @@ DSYS("Registering BT proc files\n"); =20=20 #ifdef CONFIG_BLUETOOTH_PROC + + procfs_status =3D channel_con_create_proc_file(); + if (procfs_status < 0) { + D_ERR("Couldn't register proc file bt_channel_con %d\n",=20 + procfs_status); + } + + #if LINUX_VERSION_CODE >=3D KERNEL_VERSION(2,4,0) { procfs_status =3D -1; --- bt_proc.c 11 Apr 2002 10:14:04 -0000 1.22 +++ bt_proc.c 31 Jul 2002 08:21:16 -0000 1.23 @@ -78,18 +78,174 @@ =20 /****************** CONSTANT AND MACRO SECTION ***************************= ***/ =20 +#if LINUX_VERSION_CODE >=3D KERNEL_VERSION(2,2,14) +#define USE_NEW_PROC +#endif + /****************** TYPE DEFINITION SECTION ******************************= ***/ =20 /****************** LOCAL FUNCTION DECLARATION SECTION *******************= ***/ =20 +#ifdef __KERNEL__ +#ifdef CONFIG_BLUETOOTH_PROC +#ifdef USE_NEW_PROC +static ssize_t channel_con_read(struct file * file, char * buf, + size_t count, loff_t *offset); +#else +static s32 channel_con_read(struct inode *inode, struct file * file, + char * buf, s32 count); +#endif + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) +static s32 channel_con_proc_dir_entry_read(char *buf, char **start, off_t = offset, + s32 len, s32 unused); +#endif /* LINUX_VERSION_CODE */ +#endif /* CONFIG_BLUETOOTH_PROC */ +#endif /* __KERNEL__ */ /****************** GLOBAL VARIABLE DECLARATION SECTION ******************= ***/ =20 /****************** LOCAL VARIABLE DECLARATION SECTION *******************= ***/ =20 +/****************** EXTERNAL VARIABLES DECLARATION SECTION ***************= ***/ + +/**************** VARIABLES FOR CHANNEL CONNECTION PROC FILE *************= *******/ + +#ifdef CONFIG_BLUETOOTH_PROC + +/* Next variables are declared in bluetooth.c */ +int new_con_srv_channel; +int new_con_line; + + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) +struct wait_queue *channel_con_wq =3D NULL; +#else +wait_queue_head_t channel_con_wq; +#endif /* LINUX_VERSION_CODE */ +#endif /* CONFIG_BLUETOOTH_PROC */ + +/**************** TYPES FOR CHANNEL CONNECTION PROC FILE *****************= ***/ + +#ifdef CONFIG_BLUETOOTH_PROC + +#ifdef __KERNEL__ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) +static struct file_operations channel_con_procfile_operation =3D { + NULL, /* lseek - default */ + channel_con_read, /* read - bad */ + NULL, /* write - bad */ + NULL, /* readdir */ + NULL, /* select - default */ + NULL, /* ioctl - default */ + NULL, /* mmap */ + NULL, /* no special open code */ + NULL, /* no special release code */ + NULL /* can't fsync */ +}; +#else=20 +static struct file_operations channel_con_procfile_operation =3D { + NULL, /* module owner */ + NULL, /* lseek - default */ + channel_con_read, /* read - bad */ + NULL, /* write - bad */ + NULL, /* readdir */ + NULL, /* select - default */ + NULL, /* ioctl - default */ + NULL, /* mmap */ + NULL, /* no special open code */ + NULL, /* no special release code */ + NULL /* can't fsync */ +}; +#endif /* LINUX_VERSION_CODE */ + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) +static struct inode_operations channel_con_proc_inode_operations =3D { + &channel_con_procfile_operation, /* default net file-ops */ + NULL, /* create */ + NULL, /* lookup */ + NULL, /* link */ + NULL, /* unlink */ + NULL, /* symlink */ + NULL, /* mkdir */ + NULL, /* rmdir */ + NULL, /* mknod */ + NULL, /* rename */ + NULL, /* readlink */ + NULL, /* follow_link */ + NULL, /* readpage */ + NULL, /* writepage */ + NULL, /* bmap */ + NULL, /* truncate */ + NULL /* permission */ +}; +#else +static struct inode_operations channel_con_proc_inode_operations =3D { + NULL, /* create */ + NULL, /* lookup */ + NULL, /* link */ + NULL, /* unlink */ + NULL, /* symlink */ + NULL, /* mkdir */ + NULL, /* rmdir */ + NULL, /* mknod */ + NULL, /* rename */ + NULL, /* readlink */ + NULL, /* follow_link */ + NULL, /* readpage */ + NULL, /* writepage */ + NULL, /* bmap */ + NULL, /* truncate */ + NULL /* permission */ +}; +#endif /* LINUX_VERSION_CODE */ +#endif /* __KERNEL__ */ + + +#ifdef __KERNEL__ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) +static struct proc_dir_entry channel_con_proc_entry =3D { + 0, + 7, "bt_channel_con", + S_IFREG | S_IRUGO | S_IWUSR, + 1, 0, 0, + 0, + &channel_con_proc_inode_operations, + channel_con_proc_dir_entry_read, +}; +#else +static struct proc_dir_entry channel_con_proc_entry =3D { + 0, + 7, "bt_channel_con", + S_IFREG | S_IRUGO | S_IWUSR, + 1, 0, 0, + 0, + &channel_con_proc_inode_operations, + &channel_con_procfile_operation, +}; +#endif /* LINUX_VERSION_CODE */ +#endif /* __KERNEL__ */ + +#endif /* CONFIG_BLUETOOTH_PROC */ + /****************** FUNCTION DEFINITION SECTION **************************= ***/ =20 #ifdef __KERNEL__ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) +s32 channel_con_proc_dir_entry_read(char *buf, char **start, off_t offset, + s32 len, s32 unused) +{ +#ifdef USE_NEW_PROC + return channel_con_read(NULL, buf, len, 0); +#else + return channel_con_read(NULL, NULL, buf, len); +#endif +} +#endif /* LINUX_VERSION_CODE */ +#endif /* __KERNEL__ */ + + +#ifdef __KERNEL__ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) static s32 bt_read_status(char *buf, char **start, off_t offset,=20 int len, int unused) #else @@ -172,6 +328,85 @@ len +=3D sprintf(buf + len, "\n-----------------------------------= ----\n"); return len; } + +#ifdef __KERNEL__ +#ifdef CONFIG_BLUETOOTH_PROC +s32 +channel_con_create_proc_file(void) +{ + s32 procfs_status =3D -ENOENT; + + /* The sec_man_wq wait queue must be initialised before anyone tries + to read from the /proc/sec_srv file, so we initialise the wait + queue here */ +#if LINUX_VERSION_CODE >=3D KERNEL_VERSION(2,4,0) + init_waitqueue_head(&channel_con_wq); +#endif /* LINUX_VERSION_CODE */ + +#if LINUX_VERSION_CODE >=3D KERNEL_VERSION(2,4,0) + { + struct proc_dir_entry *entry; + procfs_status =3D -1; + if ((entry =3D create_proc_entry(channel_con_proc_entry.name, + channel_con_proc_entry.mode, + &proc_root))) { + /*---------------------------------------------------*/ + /* If the proc entry was registered successfully, */ + /* then set all the necessary structure information. */ + /*---------------------------------------------------*/ + entry->proc_iops =3D channel_con_proc_entry.proc_iops; + entry->proc_fops =3D channel_con_proc_entry.proc_fops; + entry->get_info =3D channel_con_proc_entry.get_info; + procfs_status =3D 0; + } + } +#elif LINUX_VERSION_CODE > KERNEL_VERSION(2,2,0) + procfs_status =3D proc_register(&proc_root, &channel_con_proc_entry); +#else + procfs_status =3D proc_register_dynamic(&proc_root, &channel_con_proc_ent= ry); +#endif /* LINUX_VERSION_CODE */ + + if (procfs_status < 0) { + D_ERR("Couldn't register proc file for security manager %d\n", + procfs_status); + } + + return procfs_status; +} +#endif /* CONFIG_BLUETOOTH_PROC */ +#endif /* __KERNEL__ */ + + + +#ifdef __KERNEL__ +#ifdef CONFIG_BLUETOOTH_PROC +#ifdef USE_NEW_PROC +ssize_t channel_con_read(struct file * file, char * buf, size_t count, + loff_t *offset) +#else +s32 channel_con_read(struct inode *inode, struct file * file, + char * buf, s32 count) +#endif +{ + s32 position; + cli(); +=09 + interruptible_sleep_on(&channel_con_wq); + + sti(); + + /* Format of the response : <line>:<server channel number> */ + /* Maximum : 6:30, so 5 characters with \0 */ + + position =3D 0; + position +=3D sprintf(buf + position,"%d", new_con_line); + position +=3D sprintf(buf + position, ":"); + position +=3D sprintf(buf + position, "%d", new_con_srv_channel); +=09 + return position;=09 +} +#endif /* CONFIG_BLUETOOTH_PROC */ +#endif /* __KERNEL__ */ =20 =20 /* |
From: Alain P. <apa...@us...> - 2002-07-31 08:21:47
|
The following file was modified in linux/include/linux/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bluetooth.h 1.48 1.49=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Added a new proc file. This profile is only for read, and is blocking. When a new connection from remote device happen, it recieve next informatio= n : <line>:<server channel> Note that it recieves the same thing when we localy initiate the connection. proc file : bt_channel_con The diff of the modified file(s): --- bluetooth.h 22 Nov 2001 14:06:20 -0000 1.48 +++ bluetooth.h 31 Jul 2002 08:21:16 -0000 1.49 @@ -85,6 +85,12 @@ void bt_disconnect_ind(u32 con_id); void bt_disconnect_cfm(u32 con_id, s32 status); =20 +#ifdef __KERNEL__ +#ifdef CONFIG_BLUETOOTH_PROC +s32 channel_con_create_proc_file(void); +#endif /* CONFIG_BLUETOOTH_PROC */ +#endif /* __KERNEL__ */ + /******************/ /* Misc functions */ /******************/ |
From: Gary B. <gar...@ya...> - 2002-07-28 11:31:29
|
Hi everybody, While trying l2cap unplug_test.c (test 2.9.1 and 2.9.2), I come across = in the BT spec1.1 (section 5.4) that specifies a timing (upto 120 = seconds). Is my understanding correct that L2cap has to send a = disconnect if it doesn't get a configuration request from the remote = unit within this time? Is this implemented in the l2cap.=20 Appreciate if anyone has an idea about that. Has anyone tried those tests successfully (this sounds like a silly = question huh ;-) |
From: Alain P. <apa...@us...> - 2002-07-22 19:05:38
|
The following file was modified in apps/bluetooth/experimental: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bt_vendor.c 1.36 1.37=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Remove the PS keys, because if they are set, the platform will crash when we will try to make a connection. The diff of the modified file(s): --- bt_vendor.c 22 Jul 2002 17:23:56 -0000 1.36 +++ bt_vendor.c 22 Jul 2002 19:05:25 -0000 1.37 @@ -290,6 +290,8 @@ { unsigned short msg[CSR_PSKEY_MAXPARAMS + CSR_PSKEY_MSGHDR_SIZE]; =20 +#ifndef CONFIG_BLUETOOTH_SD_SPECIFIC + syslog(LOG_INFO, __FUNCTION__": ps_key 0x%x rw_mode : %d", ps_key, rw_mo= de); =20 msg[0] =3D ps_key; @@ -317,6 +319,8 @@ /* Copy back return params if READ (skip message header) */ if (rw_mode =3D=3D CSR_PSKEY_GETREQ) memcpy(ps_vals, &msg[CSR_PSKEY_MSGHDR_SIZE], n_pars*2); + +#endif /* CONFIG_BLUETOOTH_SD_SPECIFIC */ } =20 =20 |
From: Alain P. <apa...@us...> - 2002-07-22 17:29:51
|
The following file was modified in linux/drivers/char/bluetooth: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- hci_vendor.c 1.65 1.66=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Made several CSR specific things Big Endian compatible : - Interpretation of BUILD_ID (consequence : speed can now be set in big end= ian) - Reading and writing PS keys Note : hci_set_bd_addr and setting speed are for the moment not big-endian = compatible. The diff of the modified file(s): --- hci_vendor.c 15 May 2002 13:29:41 -0000 1.65 +++ hci_vendor.c 22 Jul 2002 17:29:50 -0000 1.66 @@ -572,7 +572,6 @@ csr_bccmd_ps *ps; =20=09 D_REC(__FUNCTION__ "\n"); - hci_ctrl.hc_buf.cmd_num =3D 1;=20=20 =20 release_cmd_timer(); @@ -595,12 +594,10 @@ break; =20=09=09=09=09 case CSR_CMD_BUILD_ID: -#ifndef CONFIG_BLUETOOTH_SD_SPECIFIC /* Store this for later retrieval */ sprintf(bt_hw_firmware_info, "\n Firmware version: %d", cmd->payload[0]); -#endif break; =20=09=09=09=09 case CSR_CMD_CHIP_VER: @@ -861,8 +858,6 @@ csr_bccmd *cmd; csr_bccmd_ps *ps; =20 -#ifndef CONFIG_BLUETOOTH_SD_SPECIFIC - D_CMD(__FUNCTION__" : ps_key 0x%x [%d]\n", ps_key, rw_mode);=09 PRINTPKT("pars : ", (u8*)retb, n_pars*sizeof(u16)); =20 @@ -882,16 +877,16 @@ =20 /* BCCMD type */ =20 - cmd->type =3D rw_mode; - cmd->len =3D 5 + 3 + n_pars; - cmd->seq =3D csr_count++; - cmd->var_id =3D CSR_CMD_PS; - cmd->status =3D CSR_STATUS_OK; /* always OK in SETREQ */ + cmd->type =3D cpu_to_le16(rw_mode); + cmd->len =3D cpu_to_le16(5 + 3 + n_pars); + cmd->seq =3D cpu_to_le16(csr_count++); + cmd->var_id =3D cpu_to_le16(CSR_CMD_PS); + cmd->status =3D cpu_to_le16(CSR_STATUS_OK); /* always OK in SETREQ */ =20 /* Actual PS key request */ - ps->ps_key =3D ps_key; - ps->ps_len =3D n_pars; /* x 16 bits */ - ps->unused =3D 0x0000; + ps->ps_key =3D cpu_to_le16(ps_key); + ps->ps_len =3D cpu_to_le16(n_pars); /* x 16 bits */ + ps->unused =3D cpu_to_le16(0x0000); =20 if (rw_mode =3D=3D CSR_MSGTYPE_GETREQ) memset(ps->ps_val, 0, n_pars*sizeof(u16)); /* zero params in GETREQ */ @@ -910,9 +905,6 @@ /* Signal status back in SETREQ ? */ =20 return tmp; -#else - return 0; -#endif } =20 s32=20 |
From: Alain P. <apa...@us...> - 2002-07-22 17:23:57
|
The following file was modified in apps/bluetooth/experimental: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- bt_vendor.c 1.35 1.36=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Setting speed for the CSR is not big-endian compatible. If you use this fun= ction on a big-endian platform, it will crash. I tried to correct this, but it do= esn't work for the moment. So I added a define to avoid this temporary. The diff of the modified file(s): --- bt_vendor.c 3 Jun 2002 10:07:28 -0000 1.35 +++ bt_vendor.c 22 Jul 2002 17:23:56 -0000 1.36 @@ -339,6 +339,7 @@ return 0; } =20 + /*=20 * Switches host interface in CSR HW (H4<->BCSP)=20 */ @@ -516,6 +517,7 @@ =20 if (speedstr) { +#ifndef CONFIG_BLUETOOTH_SD_SPECIFIC /* PAL - The setting of the speed doe= sn't work in big-endian */ /* Only try to set the speed if the CSR firmware is new enough (temporarily setting the speed does not work correctly in 9.x) */ if (firmware >=3D 90) @@ -534,6 +536,7 @@ { syslog(LOG_INFO, "Did not set baudrate in CSR module as its firmware= is too old (%d)", firmware); } +#endif /* CONFIG_BLUETOOTH_SD_SPECIFIC */ } } =20 |
From: Alain P. <apa...@us...> - 2002-07-22 17:22:15
|
The following files were modified in apps/bluetooth/experimental: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- README.txt 1.6 1.7=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 btinit.c 1.21 1.22=20=20=20=20=20=20=20=20=20=20=20=20=20=20 The accompanying log: Changed soft reset. It now uses DTR pin to make the reset. This allow to use flow control and soft reset at the same time. The diff of the modified file(s): --- README.txt 22 Apr 2002 15:22:03 -0000 1.6 +++ README.txt 22 Jul 2002 17:22:13 -0000 1.7 @@ -54,11 +54,10 @@ -f, --noflow Don't use RTS and CTS signals when communicating with the module through = UART =20=09 - -D /* RTS reset the module */ - Set the RTS to 0 after the serial port has been opened. This allow to mak= e a + -D /* DTR reset the module */ + Makes a Reset throuth DTR pin of serial port. This allow to make a soft reset for a bluetooth module like the module from ericsson if you - wire the rts to the reset pin of the module. - This option is valid only if -f option is present.=20 + wire the DTR to the reset pin of the module.=20 =20 e.g ./bti --reset --speed 460800 --physdev /dev/ttyS0 --local-name OpenBT --- btinit.c 3 Jun 2002 10:07:28 -0000 1.21 +++ btinit.c 22 Jul 2002 17:22:13 -0000 1.22 @@ -74,9 +74,9 @@ force uart communication to not use CTS and RTS default: flow control activated if defined hardware support it =20 - -D, --user-rts - Use RTS for hard reset - default: no use of RTS + -D, --user-dtr + Use DTR for hard reset + default: no use of DTR =20 e.g ./bti --reset --speed 460800 --physdev /dev/ttyS0 --local-name OpenBT @@ -132,7 +132,7 @@ { "local-name", 1, NULL, 'n' }, /* set local bluetooth name */ { "reset", 0, NULL, 'R' }, /* reset BT HW */ { "speed", 1, NULL, 's' }, /* uart speed towards hw */ - { "use-rts", 1, NULL, 'D' }, /* user rts for hard reset */ + { "use-dtr", 1, NULL, 'D' }, /* user dtr for hard reset */ { 0, 0, 0, 0 } }; =20 @@ -152,17 +152,30 @@ /* Normally, the RTS should be LOW after having opened the serial port */ /* Wait 200 ms to be sure to have a valid reset */ =20 - usleep(200000); +=09 if (ioctl (phys_fd, TIOCMGET, &iosettings) !=3D 0) { fprintf(stderr, "btinit : Error for ioctl TIOCMGET\n"); } - iosettings &=3D ~TIOCM_RTS; + printf("Set DTR to 0\n"); + iosettings &=3D ~TIOCM_DTR; if (ioctl (phys_fd, TIOCMSET, &iosettings) !=3D 0) { fprintf(stderr, "btinit : Error for ioctl TIOCMSET\n"); } - D(syslogprintf("btinit : RTS set to HIGH\n")); + usleep(500000);=09 + printf("Set DTR to 1\n"); + iosettings |=3D TIOCM_DTR; + ioctl (phys_fd, TIOCMSET, &iosettings); + //DBG ("Resetting the module"); + usleep(200000); /*Sleep 200 ms for reset*/ + printf("Set DTR to 0 again\n"); + iosettings &=3D ~TIOCM_DTR; + ioctl (phys_fd, TIOCMSET, &iosettings); + //DBG ("End of reset"); + D(syslogprintf("btinit : DTR set to HIGH\n")); sleep(2); /* Wait that module boot. 1 second is too short */ =20 +=09 +=09 } =20 =20 @@ -172,7 +185,7 @@ {=20=20 int opt; int bt_disc =3D N_BT; - volatile int rts_hard_reset =3D 0; + volatile int dtr_hard_reset =3D 0; =20 syslog(LOG_INFO, "Bluetooth daemon starting"); =20 @@ -224,10 +237,9 @@ break; =20=20=20=20=20=20 case 'D': - /* If called with -f option, set RTS to 1 after the port has been op= ened */ - /* It's usefull if you command a reset by the RTS pin */ + /* Make a reset on DTR pin of serial port */ D(syslog(LOG_INFO, "Use RTS for hard reset", optarg)); - rts_hard_reset =3D 1; + dtr_hard_reset =3D 1; break; =20 default: @@ -235,14 +247,6 @@ } } =20=09 - /* Verify that options if we have -D option, we have -f too */ - if (rts_hard_reset & !(flow_control =3D=3D USE_NO_FLOW)) - { - fprintf(stderr, "You can't use -D option without -f option.\n"); - fprintf(stderr, "bti won't care about -D option\n"); - rts_hard_reset =3D 0; - } -=09 /* Set restart point */ if (sigsetjmp(jmpbuffer, 1) !=3D 0) { @@ -271,7 +275,7 @@ bt_cfd =3D bt_openctrl(); =20=20=20 /* Use RTS to reset/unreset the card (only if option selected) */ - if (rts_hard_reset) + if (dtr_hard_reset) unreset_force_rts(); =20=20=20 tcflush(phys_fd, TCIOFLUSH); |
From: Alain P. <apa...@us...> - 2002-07-22 13:57:22
|
The following file was modified in apps/bluetooth/sdp_server: Name Old version New version Tag Comment ---- ----------- ----------- --- ------- sdp_smartdata.xml 1.1 Added The accompanying log: New sdp definition file for SMARTDATA specific needs |
From: CHAMOISEAU X. <xy...@ya...> - 2002-06-28 14:05:41
|
Hi everyone! Can someone help with the install procedure of the stack ? here is the error I get during the first "make" step : In file included from /usr/src/linux/include/linux/mm.h:4, from /usr/src/linux/include/linux/slab.h:14, from /usr/src/linux/include/linux/malloc.h:6, from btmem.c:47: /usr/src/linux/include/linux/sched.h:6: nondigits in number and not hexadecimal /usr/src/linux/include/linux/sched.h:6: nondigits in number and not hexadecimal /usr/src/linux/include/linux/sched.h:6: parse error before `7b16c344' Thanks, Best regards Xavier |
From: CHAMOISEAU X. <xy...@ya...> - 2002-06-28 13:34:06
|
I found out, it was just under my nose, sorry for the spam ... |