|
Post by BillBauman on Apr 17, 2010 23:55:17 GMT -5
Hey, everyone, I'm actually sort of posting this to remind myself and force myself to come back tomorrow when I'm less tired and explain some of the details of why the update is acting the way it does. Much of it has to do with how the update program is put together, and how the USB driver is implemented. I'll talk about some of that, and maybe even make some public conjecture on the development process of the Emotiva AVR Upgrade program, etc. I'd certainly welcome input from Emotiva, directly, on this at some point, as well. Suffice it to say, for now, it is the way it is because it is the fastest, lowest-cost, easiest-to-implement method of delivering a Windows-based firmware update solution to market at this time.
|
|
|
Post by wizardofoz on Apr 18, 2010 3:22:48 GMT -5
There is no way a device like the UMC-1 (or most any other HIFI/Set top box/disk player) should be PC/MAC or whatever OS dependant. It is and should always be either by USB flash drive and/or online. Even my 84 year old dad can manage this (just). If for no other reason USB flash is by far the most generic way and even if you dont have a computer you can be sent a cheap and easily postable USB flash drive as and when it is needed.
If you market a product internationally then software updates/upgrades MUST be owner doable as shipping back to factory is not an option financially or time wise.
|
|
|
Post by BillBauman on Apr 20, 2010 16:45:10 GMT -5
Hey, everyone, sorry for the delay on this little write up. Hopefully, it sheds some light on some of the decisions Emotiva has appeared to have made, and why. To start, I think we all really like the price of the UMC-1. To achieve that price, though, certain compromises have to be made. I'm aware that there are a lot of places to cut costs on an electronics component, but two big ones are development costs and components costs. One bitter little irony is that often times, cutting the cost of one means you increase the cost or complexity of the other. In the case of the UMC-1, it appears Emotiva tried to minimize the cost of the components involved in accessing the system out of band (meaning, doing firmware updates, essentially). In order to do so, it appears there is no master controller of the system, but rather a generic USB solution that comes with a generic USB driver that sits on top of the Windows USB Device Driver stack. Silicon Image's USBXpress Interaction Diagram This solution is the USBXpress device driver from Silicon Labs that we've all been dealing with. It tremendously reduces the complexity of implementing a USB interface to a device from Windows. Its drawback is that it is essentially RS-232 commands wrapped in USB wrapped in a USB wrapper which is then presented to Windows for access. Firmware updates are timing sensitive. When a chip or processor or controller are put into firmware update mode, they typically become quite 'stupid'. The chip sits there and waits to begin receiving data. Once the data starts arriving, the chip expects it to arrive at a certain pace as it writes it at a steady pace. If any of this pace is thrown off, the process has to start over again. With so many convoluted layers for the firmware updates to traverse, it is easy for this timing to be thrown off. In the case of most Windows PC's, there is a lot going on to help throw it off. There is also the issue that the Emotiva upgrade program appears to be interfacing with this driver in User Mode, meaning, any process (antivirus, Windows Update, USB hard drives, etc.) accessed or run in Kernel Mode will supersede its priority. This is why the Safe Mode approach works so well, most other processes that would interfere are not started. Even benign, background Windows processes could affect the update, and there's really nothing that can be done about it. Windows Vista/7 faired generally better as the processes on those platforms have been generally updated to be generally better behaved in these situations. Why did Emotiva use this approach? Because the development cost is low. The cost of writing their own USB device drivers would have been much higher than using a prepackaged solution. In fact, the Silicon Labs solution is a great product for most uses, but in this instance (firmware upgrade interface), it's probably not the best platform. If we wanted a $999 (or more) UMC-1, this situation could likely have been remedied. Of course, other solutions come with their own issues. I've had personal experience with ease-of-use software solutions. Typically, there's some portion of it that's out of your hands, written by others, and you, the customer (Emotiva being the customer here) fill in the gaps with the details of your particular implementation. This means, though, that certain portion of the updater are out of Emotiva's hands. They contract a program to be written to perform the update via the Silicon Labs USBXpress interface, someone writes it, and provides it. Essentially, this is where we are today. To change any of this would require additional development costs. The question has to be asked, is it worth it? I would say no. Once the firmware is finally stable, the entire cost of developing this solution is essentially wasted money. It is unfortunate that early owners of the UMC-1 have to endure this process 2 or 3 times, but at the same time, it certainly isn't the worst firmware update process I've ever experienced. At least we aren't using proprietary serial cables with swapped pins and non-standard ANSI encoding. For those that claim they have done thousands of firmware upgrades, I have to assume at some point you upgraded an old network switch or SAN controller? Did you really find that using proprietary cables and a telnet or SSH program with a locally executed TFTP daemon was simpler than this solution? My point is, it's not like we're going to upgrade the firmware on the UMC-1 a couple times a week for the next 6 months. If all goes well, one to three more updates (I'd estimate, and probably not all updates will continue to be needed by all users) and we'll all be cruising right along. And for those that can't find a friend of a cousin of a brother's PC to successfully perform the update, you'll be the few that have to send in your UMC-1. I think, overall, it is not that high of a price to pay for the incredible value and sonic performance of the UMC-1. As wordy as this was, there's actually a lot more to this than just what I've written here. Suffice it to say, for now, the solution is what it is. In the future, I have it on good authority that in the future, the more expensive products (probably not the XMC-1, but next platform) will use more extensive (read: easier to update) solutions. As it stands, I do not see a (quick, inexpensive) way to modify the update process. This includes a post-update checksumming. It wasn't written into the original firmware updater, and to go back and do it is, again, additional cost that is probably not warranted. Let's all hold on to our hats and continue to help each other. I'll continue to update the Emonatics UMC-1 Firmware page. Anything we, as a community, can share with each other to make the update process more consistent, will benefit us all in the long run.
|
|
NorthStar
Seeker Of Truth
"And it stoned me to my soul" - Van Morrison
Posts: 0
|
Post by NorthStar on Apr 20, 2010 16:56:52 GMT -5
^ This is the best post so far that I just read about the UMC-1 and its peripherals. Thanks a Big Bunch Bill (BBB).
|
|
|
Post by Samuel on Apr 20, 2010 17:06:52 GMT -5
Very good read Bill, was easy to follow and understand.
Thanks Bill
|
|
klinemj
Emo VIPs
Official Emofest Scribe
Posts: 15,099
Member is Online
|
Post by klinemj on Apr 20, 2010 17:19:45 GMT -5
Very informative...thanks.
A question for you, Bill...given what you said could happen w/a PC to upset the process from its end, would an ideal situation (for a home user) be to take an older computer that was working but just sitting around and "strip it down" to the minimum to run the FW update? By that, I mean...I have a Dell sitting around that I took out of service. Let's suppose I stripped all unneeded c#%p off it (all utilities, all non-essential softwares like Office, etc...), so it started up with just the basics needed to run. It would not be connected to the i-net or any other peripheral. I would turn off power save modes, screensavers, everything...
Would this be a more ideal way to run a FW update for a UMC-1? (I know this is kind of like doing "manual" safe mode, but would it be "1 better" or just equivalent?)
Just curious...and...thinking...I bet the computers that they update the UMC's with in Franklin are bare-bones...not connected to anything other than a monitor, keyboard, and mouse.
|
|
|
Post by BillBauman on Apr 20, 2010 17:28:30 GMT -5
klinemj, stripping would not necessarily improve things. You still have to contend with natural Windows processes that might interrupt. Though, some naughty programs still find a way to get themselves running in Safe Mode. So, if you wanted to be extra careful, you could take that system, strip off the extras, and boot into Safe Mode. That would probably offer a higher level of guaranteed success.
I'm going to be taking that hat off of a UMC-1 shortly. Hopefully I can see exactly which chips are used. Based on my preliminary research, it seems pretty certain that it would be nearly impossible to "brick" one of these units. Most of the modern, firmware-upgradeable controllers out there will return to "feed me" state if an update does not complete successfully. It might not be functional (i.e. only 27% loaded with new code), but the chip would be amenable to receiving the code again. A "brick" is when the update doesn't complete and the chip is left in a state in which it will no longer accept a code update. That's ship-it-back-to-the-factory territory, and no one wants that.
|
|
|
Post by mlkmgr on Apr 20, 2010 18:07:14 GMT -5
bill,
is this all fact or speculation on your part? (seriously, just wondering) what difference does it make if the firmware (v6) is corrupted or not? lonnie admitted it was rushed and flawed from the jump so pointing fingers at computers as the issue is not very germane to the given firmware.
loaded 100% correctly (safemode, networking, usb cable length, etc) or not, the firmware was not "right" to begin with. i appreciate you trying to explain the processes here, but until emo can get things right, it really doesn't matter how the updating process takes place...
|
|
RSavage
Emo VIPs
My goal is to live forever. So far, so good.
Posts: 674
|
Post by RSavage on Apr 20, 2010 18:28:10 GMT -5
it really doesn't matter how the updating process takes place... Wow....really? Personally, I find getting insight into the process makes it a little easier to put up with the surprises along the way. But then maybe that's because I'm a geek and this sort of stuff just kinda floats my boat. Well done, Bill. Thank you R
|
|
|
Post by moodyman on Apr 20, 2010 18:35:57 GMT -5
bill, is this all fact or speculation on your part? (seriously, just wondering) what difference does it make if the firmware (v6) is corrupted or not? lonnie admitted it was rushed and flawed from the jump so pointing fingers at computers as the issue is not very germane to the given firmware. loaded 100% correctly (safemode, networking, usb cable length, etc) or not, the firmware was not "right" to begin with. i appreciate you trying to explain the processes here, but until emo can get things right, it really doesn't matter how the updating process takes place... +1 The lousy FW update aside..the UMC has many issues.
|
|
klinemj
Emo VIPs
Official Emofest Scribe
Posts: 15,099
Member is Online
|
Post by klinemj on Apr 20, 2010 18:36:26 GMT -5
mlkmgr...if I get Bill's point, it would be that v6 could be better for some folks than it is AND even if v7 were "perfect" from Emo - a corrupted install would be an issue. So, finding a good install procedure is key no matter what.
Bill - thanks for your response to my question...makes perfect sense. I just happen to have 2 old computers laying around that could serve the very purpose I mentioned. Hopefully, by the time I get my UMC-1 (or XMC-1), I won't "ever" need to upgrade the FW (insert LOL here...), but...just in case.
Rsavage: geek #2 here - standing along side you in agreement re. loving this kind of stuff!
Mark
|
|
|
Post by BillBauman on Apr 20, 2010 19:45:43 GMT -5
I think I wasn't clear on one very big point. This post wasn't about the firmware itself, it was about the process of updating it. There have been calls for a new process and all that. The point I'm making here is not that the firmware, the DSP code, the micropanel code, etc., was good or was bad or did or didn't have bugs (it does have bugs, Emotiva has acknowledged that). This thread focuses on the procedure of performing the update and why it is the way it is.
As far as fact or supposition, the majority of all this is fact. I am not in a position to comment on whether my guesses as to why Emotiva did it this way and not another way are right or wrong. I can say, with 100% certainty, that my basic explanation of how this update works is accurate.
|
|
|
Post by BillBauman on Apr 20, 2010 19:49:44 GMT -5
i appreciate you trying to explain the processes here, but until emo can get things right, it really doesn't matter how the updating process takes place... I answered your other questions in another post. I wanted to touch on this, though. I believe it does matter. When Emotiva does ship the next update, we're all going to be using this process, so I think it helps people to understand where we stand on trying to get that next update on to our UMC-1's. There may be those that were holding out some sort of hope that there would be a new update procedure, and I am saying with some 99%+ degree of certainty that there will not be. I am also saying that this procedure can be made to work, even if it isn't ideal, and the trade off for not being ideal is a very reasonably priced, high performing (when bugs are fixed), product.
|
|
|
Post by dwwjr56 on Apr 20, 2010 20:21:46 GMT -5
Thanks Bill, great explanation, especially about the bricking. When I did the install the first time and it stopped and restarted I thought for sure it was over! But it just restarted and stated it was erasing and writing all over again.
I went to your site and got the check-sum stuff and rechecked to make sure all the files were fine, then did the update in safe mode on a windows xp netbook. Everything went fine and much much faster. (by everything I mean the firmware load) I am still having some issues, but I am confident they will be fixed in the next update or two.
Thanks again for all your help and your easy to understand techno speak! ;D
Dave
|
|
|
Post by artiek on Apr 20, 2010 21:00:06 GMT -5
You realize how ducked up that sounds, right? That's enough to make me swear off this thing forever.
|
|
|
Post by BillBauman on Apr 20, 2010 21:01:39 GMT -5
Thanks again for all your help and your easy to understand techno speak! ;D Dave Dave, I'm glad you're finding things helpful. Hopefully the next round goes smoothly for you now that it's a little more familiar.
|
|
|
Post by BillBauman on Apr 20, 2010 21:08:11 GMT -5
You realize how ducked up that sounds, right? That's enough to make me swear off this thing forever. No, I don't. I find it all very reasonable. Others find it completely intolerable. Luckily, there are a lot of posts here about alternative pre/pros that you could check out. I'm using a very nice Onkyo 885 here, you might look into one of those, or something like it. I wouldn't encourage anyone whom already harbors serious animosity toward any product to pursue it, keep it, or otherwise. For example, I don't like Apple products (that's an understatement), so I don't buy them. I tried one, I resold it. Despite that, Apple has somehow remained in business, much to my amazement. By this deductive reasoning, I have concluded that Emotiva will remain in business despite those that "swear off [the UMC-1] forever".
|
|
|
Post by algreen345 on Apr 20, 2010 21:16:44 GMT -5
Bill, are you saying it isn't possible for Emotiva to put the firmware updates on a Linux LiveCD so we can all boot off that and run the update without having a perfect OS setup?
|
|
|
Post by BillBauman on Apr 20, 2010 21:23:10 GMT -5
Bill, are you saying it isn't possible for Emotiva to put the firmware updates on a Linux LiveCD so we can all boot off that and run the update without having a perfect OS setup? I'm saying that it would be an additional development effort. Nothing is impossible, but it all has to do with cost. I am going to do a little poking around to determine the scope of exactly this, as I'm an advocate of this sort of approach. Don't get your hopes up, it isn't as simple as open, write, close.
|
|
|
Post by mlkmgr on Apr 20, 2010 21:23:23 GMT -5
i understand the procedure is key to avoid corruption, but until v7 is released with better instructions and hopefully another video, nobody will know the "precise" steps needed to attempt to update again.
v5 was not the same as v6 and v7 will be more than likely be different from v6. see my point?
i don't think that calls for swearing this off forever but ALL factors should come into play when making a decision regarding any product purchased.
|
|