With an Android app available which contains a full user manual, how-to walkthroughs and diagrams, battery/talk time display in the phone's status bar, and a lost headset locator feature, why is it necessary to connect the damn thing to a computer in order to install a firmware update to the headset? It's connected to a smartphone with more gigabytes of storage and a better processor than my computer. So this idea is for an app (app plug-in, maybe?) which allows firmware updates to be installed to the headset from the phone via the already-existing Bluetooth connection, and, naturally, download the update directly to the phone phone thus eliminating entirely the need for a computer or USB data cable anywhere in the arrangement.
Answers to possible technical objections:
1) 'Smartphones can't send data over a Bluetooth connection.' Yes, they can. Androids can send and receive large data files via Bluetooth to/from other similarly-capable phones.
2) 'The headset may have to restart itself during a firmware update, which will disconnect it from the phone.' The app I referred to in the post, which can locate a lost headset provided it is powered on, can initiate a connection to the headset. So if the headset has to do a restart, the app can automatically rescan 15 seconds or so later and reconnect, then complete the update.-- 21 Quest, Mar 18 2013 //why is it necessary to connect the damn thing to a computer in order to install a firmware update to the headset//
A couple of reasons. Primarily, you always want to make sure your device is connected to a power source before doing any kind of firmware update. Also, you want to have a reliable connection for the duration of the update, and Bluetooth doesn't guarantee connectivity, whereas a physical USB connection guarantees both power and connectivity.
Particularly with devices that aren't especially intelligent, a failed firmware update (either due to loss of power or loss of connectivity) can render your device an expensive brick. More capable devices, such as smart phones, are able to do over-the-air updates away from a power source because they have a built-in failsafe mode (e.g., DFU mode on the iPhone), which bypasses the normal system software and loads a hardcoded ROM routine that allows you to connect to a computer and do a software restore in the event of a total system failure. In the event something goes really wrong, you're never totally stuck.
Also, providing the ability to do Bluetooth firmware updates would add to the complexity of the device, since it would have to have some sort of bootstrapping system to keep the new firmware in memory while it performs the update on the main system. By connecting the device to a computer via USB, it can simply hand control of the entire device over to the computer.
So there's no technical reason why it /couldn't/ be done, but there are lots of practical reasons not to do so. Given that firmware updates are relatively rare, and a certain percentage of users would end up unwittingly damaging their devices by attempting and failing a wireless firmware update, there's no real reason to add to the complexity, cost, and fragility of a device by providing a feature that saves relatively little effort in the grand scheme of things.
//1) 'Smartphones can't send data over a Bluetooth connection.' Yes, they can. Androids can send and receive large data files via Bluetooth to/from other similarly-capable phones.//
Ah, but there's data and then there's data. In order to allow such transactions, both devices must support the appropriate Bluetooth profile. If a device such as a headset only supports the Hands-Free Profile, it's simply not capable of receiving files such as firmware updates. Most hardware chips for devices such as headsets are only going to provide the profile necessary for the device to function, in order to reduce complexity, cost, and power consumption.-- ytk, Mar 19 2013 And if the headset supports A2DP? Streams media just fine? Asteroid fields do not concern me, Admiral. I want that ship, not excuses.-- 21 Quest, Mar 19 2013 So what if it supports A2DP? The A still stands for audio. Try initiating a file transfer from your phone to your headset sometime. Can't do it, right? That's not for lack of your phone's capability. It's because your headset simply refuses to accept that sort of data. No software on your phone could change that fact. Read up on how Bluetooth actually works if you want to understand the reasons why this is so.
Basically, what you want to do could theoretically be done, but not in software alone. You would need expensive and fiddly hardware upgrades to the device to solve a) the bricking problem, b) the device's lack of capability problem, and c) the bootstrapping problem. Keep in mind that, unlike with USB, Bluetooth requires the system to be up and running before it can initiate any data exchange. Consequently, the only way to solve all of those problems is to effectively keep a duplicate backup copy of all of the hardware on the device, and have one running while it updates the other. Do you really want to increase the cost, size, weight, complexity, and power consumption of your Bluetooth headset just to address a relatively minor annoyance?-- ytk, Mar 19 2013 Yes. Yes, I do. Make it so, Number 1.-- 21 Quest, Mar 19 2013 Well, okay, but given the added bulk you'll resemble the Borg.-- ytk, Mar 19 2013 Wrong. If it is designed *properly*, I will resemble Lobot, from whom the Borg were shamelessly copied. I am altering reality. Pray I don't alter it further.-- 21 Quest, Mar 19 2013 Agreed. The existing app for my Plantronics headset, as I mentioned already, DOES already display the headset battery level in the smartphone's status bar when connected, so that part shouldn't be an issue. While yes, there might be an issue with a glitch during the update preventing the headset from establishing a pairing connection after the restart, the app should be able to detect such a fault condition (all it has to do is realize that before the update was initiated, a connection was established, the battery level was adequate, and the command to restart was sent. If it can't find the headset after a known restart delay of, say, 15 seconds, it knows there must be a fault condition of some sort) and can direct you to connect it via USB if/when that happens. At that point, a microUSB to microUSB cable should allow you to connect it to your smartphone to perform the rest. There's just no need for a computer that I can see.-- 21 Quest, Mar 20 2013 // Hands-Free Profile
Useful for the prolific shoplifter in a sharia law area.-- not_morrison_rm, Mar 21 2013 So this is Baked to a crisp now, and I still haven't received my first royalty check. Tad miffed over it, I must admit.-- 21 Quest, Mar 29 2021 random, halfbakery