From: Manuel N. <nar...@gm...> - 2007-04-28 18:18:27
Attachments:
rest.patch
bt_discovery.c.patch
|
Hello everyone, After some work I was able to patch some bugs in the obexftp tool. In our company we update the part of the firmware of our devices over Bluetooth, using the ObexFTP protocol. OpenObex is well designed enough to distinguish and use any of the hci devices (bluetooth dongles, registered with BlueZ) that are currently in service. But obexftp was assuming that only hci0 was going to be registered with BlueZ, and furthermore it will be available. This patch not only lets the user select the hci device to use (new argument for obexftp), but also in case the user didn't passed any argument, obexftp is now intelligent enough to use any of those available (usefull when hci0 is down). The patch is divided into two files. One patch bt_discovery.c.patch only applies to the file apps/bt_discovery.c it was very bad formated and I had to ident it before starting to code (obviously I used a formatter :D ident to be more accurate). The other patch is for the rest of the tools, actually I'm not making lots of modifications, but having reidented the file made diff crazy. The patch file was made following the "SubmittingPatches" doc from the Linux Kernel project. Thanks, Manuel Naranjo |
From: Manuel N. <nar...@gm...> - 2007-04-28 18:19:13
|
Manuel Naranjo escribió: > Hello everyone, > After some work I was able to patch some bugs in the obexftp tool. > In our company we update the part of the firmware of our devices over > Bluetooth, using the ObexFTP protocol. OpenObex is well designed > enough to distinguish and use any of the hci devices (bluetooth > dongles, registered with BlueZ) that are currently in service. But > obexftp was assuming that only hci0 was going to be registered with > BlueZ, and furthermore it will be available. > This patch not only lets the user select the hci device to use (new > argument for obexftp), but also in case the user didn't passed any > argument, obexftp is now intelligent enough to use any of those > available (usefull when hci0 is down). > The patch is divided into two files. One patch bt_discovery.c.patch > only applies to the file apps/bt_discovery.c it was very bad formated > and I had to ident it before starting to code (obviously I used a > formatter :D ident to be more accurate). The other patch is for the > rest of the tools, actually I'm not making lots of modifications, but > having reidented the file made diff crazy. The patch file was made > following the "SubmittingPatches" doc from the Linux Kernel project. > Thanks, > Manuel Naranjo > Oops I forgot, it applies to the obexftp-0.20 source package |
From: Christian W. Z. <Christian@Zuckschwerdt.org> - 2007-04-28 20:45:42
|
Hi Manuel, your hci selection option is a nice addition to ObexFTP, thanks. Not every OpenOBEX feature is implemented in ObexFTP right now, but it would be nice to get there someday. - Is the hci-id really something we need in the client struct? Isn't it something like device and channel? I'm thinking of discovery here, would the user perhaps want to discover from all devices, then select hci-id along with device and channel? - I'm open to changes in coding style (the bt_discovery.c is mostly copied example code in GNU style, other code is mostly K&R style). Please submit seperate patches though. - Please don't remove '(void)' from functions it's nice to have those with lint. - If possible please diff against the current svn/cvs (see the wiki/trac). - And then perhaps submit patches to the bug tracker there. Again thanks for your ideas and work on this. regards, Christian Manuel Naranjo schrieb: > lets the user select the hci device > apps/bt_discovery.c it was very bad formated and I had to ident it > before starting to code > actually I'm not making lots of modifications, but having reidented > the file made diff crazy. > it applies to the obexftp-0.20 source package |
From: Manuel N. <nar...@gm...> - 2007-04-28 21:04:21
|
Hi Christian, > your hci selection option is a nice addition to ObexFTP, thanks. No problem. > Not every OpenOBEX feature is implemented in ObexFTP right now, but it would > be nice to get there someday. > Cool. > - Is the hci-id really something we need in the client struct? Isn't it > something like device and channel? > I'm thinking of discovery here, would the user perhaps want to > discover from all devices, then select hci-id along with device and channel? > It's like this, suppose you have 2 or 3 bluetooth dongle (for example USB) connected to your PC. Then the devices hci0 hci1 and hci2 will be available. By default hciID will be -1 and will be passed to openobex as NULL so then openobex will ask BlueZ to choose from any hci device available at it own will. I had added it to the client struct, because I didn't want change any function call declaration, as I was not sure it was going to break something. > - I'm open to changes in coding style (the bt_discovery.c is mostly > copied example code in GNU style, other code is mostly K&R style). > Please submit seperate patches though. > You sure it was in GNU style? It wasn't idented at all. > - Please don't remove '(void)' from functions it's nice to have those > with lint. > Sorry, I deleted it, and then forgot to add it back. > - If possible please diff against the current svn/cvs (see the wiki/trac). > No problem, I can make the patch again if you want. I couldn't find the url of the svn yesterday. Can you please give it to me? > - And then perhaps submit patches to the bug tracker there. > Ok you want me to create a bug report and then submit the patch there? No problem Thanks, Manuel |
From: Christian W. Z. <Christian@Zuckschwerdt.org> - 2007-04-28 21:50:16
|
Hi Manuel, Manuel Naranjo schrieb: > suppose you have 2 or 3 bluetooth dongle. By default hciID will be -1 and will be passed to openobex as > NULL so then openobex will ask BlueZ to choose from any hci device > Ok, so in most cases a given bt device will be visible on all of the hcis. That way the hci is not 'vital' to the casual user. On the other hand if a device is discovered on only a few hcis then the information can be reconstructed, perhaps. > I had added it to the client struct, because I > didn't want change any function call declaration, as I was not sure it > was going to break something. > Smart way. Better to keep it that way and change it as some new interface evolves. > I couldn't find the url of the svn yesterday. Can you please give it to me? > Oops, the links are not in the wiki, my fault. The repositories are at http://dev.zuckschwerdt.org/svn/openobex/ http://dev.zuckschwerdt.org/svn/obexftp/ http://dev.zuckschwerdt.org/svn/obexfs/ > Ok you want me to create a bug report and then submit the patch there? Trac has nice formatting and allows easy review. regards, Christian |
From: Manuel N. <nar...@gm...> - 2007-04-28 22:23:17
|
Christian, > Ok, so in most cases a given bt device will be visible on all of the hcis. > That way the hci is not 'vital' to the casual user. On the other hand if > a device is discovered on only a few hcis then the information can be > reconstructed, perhaps. > Exactly, most users will not use this feature. But anyway in a case where they connect 2 devices when the computer boots and then disconnect the one which hci0 was assigned, then obexftp is unusable (before patch). They will get use of this feature in this sense. And as far as I know, is BlueZ de one who selects which hci to use in the case when more than one is connected, I suppose that in that case, BlueZ will use the one who had seen that device before. > Smart way. Better to keep it that way and change it as some new > interface evolves. > Thanks, :D I tried to get the point where less modifications where needed. > Oops, the links are not in the wiki, my fault. The repositories are at > http://dev.zuckschwerdt.org/svn/openobex/ > > http://dev.zuckschwerdt.org/svn/obexfs/ > No problem, I will get the new patch. > Trac has nice formatting and allows easy review. Right, I forgot. Thanks, Manuel |
From: Manuel N. <nar...@gm...> - 2007-04-30 18:14:56
|
Hi Christian, The ticket has been created, the id is 3. I think you got a notification mail for it. Thanks, Manuel |