Ford Dumping Windows For QNX In New Vehicles 314
innocent_white_lamb writes "Ford has announced that their in-vehicle technology called Sync will be based on Blackberry's QNX operating system and will no longer use Microsoft Windows. My own 2013 Ford Escape has the Windows-based Sync system. I wonder if they will issue an update to change it to QNX."
Anonymous sources inside Ford cited reliability problems with Windows and lower licensing costs for the switch to the classic realtime OS.
experience (Score:5, Informative)
I rented a for focus, and drove it for about 2 months, the MSFT stuff installed in it was a total piece of junk. It would crash, hang,
and reboot in the middle of navigating to the destination, just like a windows PC.
Re:Having used both (Score:5, Informative)
Re:MSFT seems to work... (Score:4, Informative)
I know it's anecdotal, and I'm all for competition, but I wonder if this was a good decision. When the car company cites licensing costs that can't be much per vehicle as a reason to change a technology, you begin to feel they're cutting corners.
Well, did you RTFA? Because that would give you a clue as to the logic behind such a move:
See, Ford is going to put this sort of system in every car, sooner or later. There's no good excuse not to when you can get a tablet for a hundred bucks retail. Sure, vehicle electronics have higher requirements, make it a hundred bucks cost, a $400 (replacement) module and a $650 option and you're printing money. Cheaper and cheaper cars are now coming with iPod integration, bluetooth and so on, and sooner or later it's going to be every single car. How much do those licensing fees add up to?
My eyes... (Score:0, Informative)
It bleeds.
Fuck Beta!
Re:I'm just scared shitless (Score:5, Informative)
Re:I'm just scared shitless (Score:2, Informative)
I had a flight where the entertainment system displayed RedHat 6.x (old one, not RHEL) boot messages repeatedly for three hours. Very entertaining.
Re:MSFT seems to work... (Score:5, Informative)
Costs are almost always a cover reason. It's what you say when you don't want to put out the real reasons.
For example, Ford almost certainly has an ongoing business relationship with MS, for their office PCs, maybe they use Outlook, etc. - they probably don't want to sour that by saying in public that their car-OS is crap.
Re:Having used both (Score:5, Informative)
QNX is an RTOS, Linux is not.
Re: Have you driven a ford lately? (Score:4, Informative)
Re:Having used both (Score:5, Informative)
RTOS implies determinism, the ability to execute things in a timely manner. That means prioritizing interrupts and allowing high priority threads and processes to preempt the kernel and other core OS processes or threads. Many people mistake real time for processing something as it arrives into the computer e.g. a near latency free video image on screen from a camera or reading a stream of GPS coords from a serial port. Lets go with the camera example. While this sounds like real time, there is no software or hardware that guarantees that the image software and camera driver will always deliver an image to the screen in a guaranteed and timely manner. For example if you start the camera application and you play a video game, does the "realtime" video application retain its low latency? Or will it stutter as its process fights for CPU time with the video game process as the OS sees fit? In a true RTOS, the video software AND driver TELLS the OS their priority and the OS obeys. They can be assigned a high priority so any other software will have to wait until there is spare CPU time.
Linux has two routes to achieve this:
CONFIG_PREEMPT_RT [kernel.org]
Patches to the Linux kernel which removed the various locks in the kernel (aka big kernel lock) which allows a process to be prioritized over the kernel itself. IRQ's are also prioritized. You can run various processes and assign them a priority.
Xenomai [xenomai.org]
Xenomai is a dual kernel approach where a vanilla Linux kernel is patched with Xenomai. It creates a separate kernel that allows its processes to preempt the Linux kernel and takes over handling interrupts through the I-pipe. This means all interrupts are handled by the Xenomai kernel and if an interrupt is destined for the Linux kernel, Xenomai passes them as a virtual interrupt. Xenomai also features its own HAL allowing hardware to be dedicated to Xenomai processes via RT drivers. You can also do things like dedicate a processor core to a specific task to guarantee there is ample CPU time. And Xenomai has a neat little trick, its kernel is a nucleus which can run various "skins" which are API's; e.g. you can use RT code using Native, POSIX, uITRON, VxWorks and a few other RT API's.
YMMV but both solutions have tradeoffs. There is a paper published (https://www.osadl.org/fileadmin/dam/rtlws/12/Brown.pdf [osadl.org]) which compares the two popular Linux RT solutions. Preempt_rt is easier to implement as it is part of the mainline kernel, you only need to include a few headers and some gobals to define the process priority. But in tests it shows higher timing jitter than Xenomai. If you want maximum performance, then you need to look into Xenomai which requires a bit more setup, patching and using the various API's and RT hardware drivers.
BTW, Windows also has RT dual kernel systems. So yes even windows can be an RTOS. Look up Ardence RTX and INtime.
Sync is on my Focus (Score:4, Informative)
I was really apprehensive when I discovered that Sync was powered by Microsoft after I purchased my Focus two years ago, and rightfully so. What did MS know about maps and routing? On reading the article's subject my first thought, too, was I wonder if there will be an update: probably not.
Here are a few examples.
Found that the voice commands lacked synonyms so one had to conform to Sync.
It would lock up quite often for no apparent reason and the only way to re-boot it is to go to the side of the road, park, turn the ignition key to off, and then open the door for a few seconds. One could then restart and it would re-boot.
On the occasions when I needed routing my wife and son would be reduced to hysterics as I tried to get it to give directions to the intersection of, say, Laguna Canyon Road and Pacific Coast Highway. It appeared that it didn't like street names of more than one word in this context.
Use voice commands to make a call (this and some other errors of the type were repeatable) "Call Jenny Rechel home". Response was "No home number for John Litton, cell or work?"
I took it to the dealer twice and got updates that have stopped the lockups and can now use it to call Jenny but some other, more fundamental, problems persist.