[WORKING!] Hacking the GA-NET (IEBus) to get touchscreen coordinates
#1
Instructor
Thread Starter
Join Date: Jul 2006
Location: ric.va.us
Age: 42
Posts: 178
Likes: 0
Received 0 Likes
on
0 Posts
[WORKING!] Hacking the GA-NET (IEBus) to get touchscreen coordinates
Shortly after purchasing my 2006 TSX w/Nav, I started to daydream of the things that I could do to make the car more for me, aka geekier. I remembered the M10000 that was sitting in the closet, along with some other computer parts, just waiting to be built into a nice little car computer. So I started my searching for a case and decided on an IBM Netvista case. Its small enough to mount in the trunk yet large enough to fit all of the car pc components neatly tucked away inside of it. I was able to find the case on Ebay for $10, and the M10000 mounts perfectly inside of it. I decided on the MT-ATX2 160W for my power supply and got that on Ebay as well for $70.
One of my goals with putting the carputer in the TSX was to make use of the stock screen and touchscreen system to interface with it. With a quick search on the acurazine forums I found info on Dom's module from navandtv2go.com and was lucky enough to get in on a group buy only paying $225 for the module including the PnP wire harness.
Interfacing the stock touchscreen into the carpc is proving to be much more of a challenge than the display. I have scoured the internet for as much information as I can gather about how the stock nav touchscreen works. From the information that I have collected it looks like I will have my work cut out for me as many others before me have tried this without success. I believe that if I can get this to work then, just as there is a market for Dom's display module, I believe there is also a market for a PnP touchscreen module.
The touchscreen signals are transmitted to the nav computer over a communications bus called, GA-NetII, as the '06 TSX ETM likes to call it. However, after a bit of searching I found out that it is simply a known communications bus standard called, Inter Equipment Bus or IEBus for short. The name IEBus was given by NEC, however other manufaturers use the same system but each have there own name for it or they have built their own on top of the IEBus standard hence teh new names. Toyota likes to refer to it as the AVC-LAN as I have learned from reading through the Prius forums. Pioneer dubs it the IP-BUS. Some have had success in sniffing packets over this bus but nothing has ever come of it; as the the acurazine thread I mention, died. There is documentation on how packets are structured over the IEBus as shown on this diagram:
so it should be possible to create a device that can hook into the IEBus and listen to all of the traffic and respond accordingly or divert traffic from the nav computer to my computer.
IEBus is simply a network in your car. Each device on that network has a unique id that differentiates it from the other devices. It is with a device's address that other devices on the network use to dirrect traffic (packets of data) towards it. One device will broadcast (master) and the other device (slave) will recieve it. When the master sends the broadcast over the network, all devices can see it but since he included his target devices address in the packet header, all the other devices will ignore the packets except the intended recipient (slave). Sound familiar? If your familiar with TCP its not any different in the sense that you address a computer and start sending packets. Its my thinking that if I can create a module to listen to the packets intended for the touchscreen controller in the nav computer, then I could decipher the data on the fly, sending it to my carputer where a driver is waiting to translate the XY coords into mouse location clicks. This could first be done with software durring the research phase then later moved onto a circuit board with a pic controller.
To start with, I need to read the data going over the IEBus and log it to my PC so that I can analyze it and write a program to parse the packets. It is my understanding that to do this, I will need an oscilloscope. I am not very familiar with this field but I have found that I can download software for the PC which will take the signal into the line in on the soundcard using it as an ADC (analog -> digital converter). Here is the one that I used for my tests. Using that program I was able to get some data written out as a wave file. However I am not familiar yet with what I am looking at. I did see the oscilloscope waves jump everytime I hit the touch screen, which was very encouraging. Now to figure out what is what.
If anyopne is interested in chatting with me on a technical level only, please send me a PM. I am looking for someone who has the interest and know how to work on a project like this with me.
One of my goals with putting the carputer in the TSX was to make use of the stock screen and touchscreen system to interface with it. With a quick search on the acurazine forums I found info on Dom's module from navandtv2go.com and was lucky enough to get in on a group buy only paying $225 for the module including the PnP wire harness.
Interfacing the stock touchscreen into the carpc is proving to be much more of a challenge than the display. I have scoured the internet for as much information as I can gather about how the stock nav touchscreen works. From the information that I have collected it looks like I will have my work cut out for me as many others before me have tried this without success. I believe that if I can get this to work then, just as there is a market for Dom's display module, I believe there is also a market for a PnP touchscreen module.
The touchscreen signals are transmitted to the nav computer over a communications bus called, GA-NetII, as the '06 TSX ETM likes to call it. However, after a bit of searching I found out that it is simply a known communications bus standard called, Inter Equipment Bus or IEBus for short. The name IEBus was given by NEC, however other manufaturers use the same system but each have there own name for it or they have built their own on top of the IEBus standard hence teh new names. Toyota likes to refer to it as the AVC-LAN as I have learned from reading through the Prius forums. Pioneer dubs it the IP-BUS. Some have had success in sniffing packets over this bus but nothing has ever come of it; as the the acurazine thread I mention, died. There is documentation on how packets are structured over the IEBus as shown on this diagram:
so it should be possible to create a device that can hook into the IEBus and listen to all of the traffic and respond accordingly or divert traffic from the nav computer to my computer.
IEBus is simply a network in your car. Each device on that network has a unique id that differentiates it from the other devices. It is with a device's address that other devices on the network use to dirrect traffic (packets of data) towards it. One device will broadcast (master) and the other device (slave) will recieve it. When the master sends the broadcast over the network, all devices can see it but since he included his target devices address in the packet header, all the other devices will ignore the packets except the intended recipient (slave). Sound familiar? If your familiar with TCP its not any different in the sense that you address a computer and start sending packets. Its my thinking that if I can create a module to listen to the packets intended for the touchscreen controller in the nav computer, then I could decipher the data on the fly, sending it to my carputer where a driver is waiting to translate the XY coords into mouse location clicks. This could first be done with software durring the research phase then later moved onto a circuit board with a pic controller.
To start with, I need to read the data going over the IEBus and log it to my PC so that I can analyze it and write a program to parse the packets. It is my understanding that to do this, I will need an oscilloscope. I am not very familiar with this field but I have found that I can download software for the PC which will take the signal into the line in on the soundcard using it as an ADC (analog -> digital converter). Here is the one that I used for my tests. Using that program I was able to get some data written out as a wave file. However I am not familiar yet with what I am looking at. I did see the oscilloscope waves jump everytime I hit the touch screen, which was very encouraging. Now to figure out what is what.
If anyopne is interested in chatting with me on a technical level only, please send me a PM. I am looking for someone who has the interest and know how to work on a project like this with me.
#2
Instructor
Thread Starter
Join Date: Jul 2006
Location: ric.va.us
Age: 42
Posts: 178
Likes: 0
Received 0 Likes
on
0 Posts
Wikipedia Page created
Since I am gathering a lot of information that I had to get from a lot of different sources (mostly forums) I figured it wouldn't be a bad idea to group some of this into one place for the next guy.
http://en.wikipedia.org/wiki/IEBus
It is very simplistic at the moment but I encourage anyone with the knowledge to update it as well. I will be adding more once I have had more sleep.
http://en.wikipedia.org/wiki/IEBus
It is very simplistic at the moment but I encourage anyone with the knowledge to update it as well. I will be adding more once I have had more sleep.
#3
Instructor
Thread Starter
Join Date: Jul 2006
Location: ric.va.us
Age: 42
Posts: 178
Likes: 0
Received 0 Likes
on
0 Posts
I wish some of the other folks who have started this in the past were around to work on it now... like Dave: https://acurazine.com/forums/audio-video-electronics-navigation-22/touch-screen-data-bus-242121/
#4
Needs more Lemon Pledge
Any reason not to simplify things and load WindowsCE onto the carPC, then just have an A/B switch in the car to switch over to the WinCE inputusing a Y-harness to the Nav system?
Also, you probably found these, but here are some resources:
http://www.carpc.nl/index.shtml
http://www.jpstewart.net/CarBlog/
Good luck!
Also, you probably found these, but here are some resources:
http://www.carpc.nl/index.shtml
http://www.jpstewart.net/CarBlog/
Good luck!
#5
Instructor
Thread Starter
Join Date: Jul 2006
Location: ric.va.us
Age: 42
Posts: 178
Likes: 0
Received 0 Likes
on
0 Posts
Maybe you misunderstood when reading the post. The touchscreen stuff is going over a communications bus called IEBus. WinCE cannot decode IEBus packets natively.
Thanks for the links, however niether of them make any references to IEBus communications or even attempt at using a stock navigation touchscreen system in their setups.
Thanks for the links, however niether of them make any references to IEBus communications or even attempt at using a stock navigation touchscreen system in their setups.
Last edited by angrycamel; 08-28-2006 at 07:24 AM.
#6
Instructor
Thread Starter
Join Date: Jul 2006
Location: ric.va.us
Age: 42
Posts: 178
Likes: 0
Received 0 Likes
on
0 Posts
Good News
I woke up this morning with a great suprise... I received a reply from my email sent to Dave (aka 2002TLSNavi) who has worked on this very same concept in the past. In his research he had written a program to decode the IEBus packets and has been kind enough to send it to me.
I am very excited to get working on it with this new information. I hope I can just pickup where he left off without having to reinvent the wheel too much.
Thanks Dave!
I will post when I have some more results.
I am very excited to get working on it with this new information. I hope I can just pickup where he left off without having to reinvent the wheel too much.
Thanks Dave!
I will post when I have some more results.
#7
There is a tread in DIY section on hacking of the navi (DumpNAVI by bysin), where bysin mentioned that "the actual navigation system is in Windows CE running a SH-4 processor..." Do you think it is possible take display and other necessary drivers out, reverse-engineer them and create drivers for Win XP?
Trending Topics
#8
Needs more Lemon Pledge
#10
Hey, I think a while back you posted a thread asking for schematics in the service manual. There were none for the navigation unit, really. I apologize for not following up with that and letting you know earlier. I hope this works out cause it's something I'd really like to see as well!
#11
Instructor
Thread Starter
Join Date: Jul 2006
Location: ric.va.us
Age: 42
Posts: 178
Likes: 0
Received 0 Likes
on
0 Posts
Well I was actually posting earlier to say that I had ordered the 06 etm and that I wouldn't mind scanning a couple pages for people if they needed it. I have the etm and its very handy.
#12
Instructor
Thread Starter
Join Date: Jul 2006
Location: ric.va.us
Age: 42
Posts: 178
Likes: 0
Received 0 Likes
on
0 Posts
Good News
I am currently working on the design of a circuit which will handle connecting to the IEBus and transmitting the touch X, Y coordinates to an HID (Human Interface Driver) on windows.
#16
Instructor
Thread Starter
Join Date: Jul 2006
Location: ric.va.us
Age: 42
Posts: 178
Likes: 0
Received 0 Likes
on
0 Posts
Finally found some IEBus IC's
Well its looking like I may be getting my hands on the IEBus chip which will deffinately move this little project further at a very rapid pace. I am excited to get the chips in and start programming! This means of course I can scrap the plans of writing the IEBus protocol into a PICMicro (or a similar ic) since this chip is dedicated.
Wish me luck!
Wish me luck!
Last edited by angrycamel; 09-10-2006 at 08:00 PM.
#17
Instructor
Thread Starter
Join Date: Jul 2006
Location: ric.va.us
Age: 42
Posts: 178
Likes: 0
Received 0 Likes
on
0 Posts
Some bad news about the IEBus chips
The minimum order is 96 at $4.20 each. For those who don't feel like busting out the calculator, thats $403.20 simply for me to get one chip to make a prototype with. For me, that is a lot of money to put into a hobby project that will ultimately include many other elements in the same price range in order to get a working board. This is not a mildy expensive project as I thought it may be from the beginning. This is a very expensive project! I estimate that just making a few boards to test with will end up costing me well over $2k.
This leaves me in a bit of a pickle, as I would really like to invest in the project in the hopes that I may be able to sell a couple of these to help recoop the costs of the development, but at this point I do not have a clear idea of the community interest. I know that having the ability to use the stock touchscreen system with my carpc is something that I would really enjoy, however do enough people out there think the same way? Will I be able to sell enough of these in order to break even or will I be in the hole by a lot? What price could I sell something like this for in order to ensure that I break even, without turning people off from the idea?
These are just a couple of the questions that are running through my head at the moment and I may decide not to pursue the project simply because of the financial burden it may cause if I cannot resell a few to pay it all back.
With that bad news out of the way, there is some good news. If I do end up making the unit, it will be Plug N' Play natively.
Here is a hint at what I mean... (the image shows the 16 pin connectors in the drawings but its really the 20 pin I am interested in obviously)
This leaves me in a bit of a pickle, as I would really like to invest in the project in the hopes that I may be able to sell a couple of these to help recoop the costs of the development, but at this point I do not have a clear idea of the community interest. I know that having the ability to use the stock touchscreen system with my carpc is something that I would really enjoy, however do enough people out there think the same way? Will I be able to sell enough of these in order to break even or will I be in the hole by a lot? What price could I sell something like this for in order to ensure that I break even, without turning people off from the idea?
These are just a couple of the questions that are running through my head at the moment and I may decide not to pursue the project simply because of the financial burden it may cause if I cannot resell a few to pay it all back.
With that bad news out of the way, there is some good news. If I do end up making the unit, it will be Plug N' Play natively.
Here is a hint at what I mean... (the image shows the 16 pin connectors in the drawings but its really the 20 pin I am interested in obviously)
#20
VP Electricity
Join Date: Jun 2004
Location: Portland OR US
Age: 58
Posts: 4,617
Likes: 0
Received 8 Likes
on
1 Post
I believe that AV Electronics are making a harness to plug and play their TV tuner input module onto the screen. They weren't selling it seperately last I checked.
I would contact someone like Dom at TVandNav2Go and ask if he could sell some of them.
I would contact someone like Dom at TVandNav2Go and ask if he could sell some of them.
#21
Instructor
Thread Starter
Join Date: Jul 2006
Location: ric.va.us
Age: 42
Posts: 178
Likes: 0
Received 0 Likes
on
0 Posts
Thank you guys for the feedback. Sounds like I this may be one of those things that people don't think they want it until they see it in action. We'll see how it goes. I am still trying to convince the distributor to give me a couple samples to make a prototype with. They didnt even want to do that much. So wish me luck.
#22
Instructor
Thread Starter
Join Date: Jul 2006
Location: ric.va.us
Age: 42
Posts: 178
Likes: 0
Received 0 Likes
on
0 Posts
elduderino - I sent an email to Dom proposing the idea. I will most likely hear back from him soon.
About the connectors, I did not mean that I was looking for someone who could get me those connectors as much as hinting at the fact taht I have a manufacturing source for them that does not require custom injection molding like Dom does. Hence they are much cheaper.
About the connectors, I did not mean that I was looking for someone who could get me those connectors as much as hinting at the fact taht I have a manufacturing source for them that does not require custom injection molding like Dom does. Hence they are much cheaper.
#23
Instructor
Thread Starter
Join Date: Jul 2006
Location: ric.va.us
Age: 42
Posts: 178
Likes: 0
Received 0 Likes
on
0 Posts
Finally, I am making some real progress!
I just got off of the phone with the distribution rep and I will be getting 5 samples of the IEBus chips in the mail in about 2 weeks. That means I can actually build a prototype! So after almost 4 solid weeks of research and phone calls, I will be able to start building the circuit.
I have four development goals in mind in order to get this board from point A to point B.
One feature I have in mind is a way to use existing buttons on the dash to switch the video and touchscreen over to a secondary source. This will prevent the need for installing a non-stock switch of some kind somewhere in the dash. (Imagine, holding down the mode button on your steering wheel for 3 seconds to switch the video source)
I have four development goals in mind in order to get this board from point A to point B.
- Using the IEBus chip and another microcontroller, build a simple data logger which can send bus data over serial to the PC and also write a quick pc app to log the data from serial to a file.
- Add the LED display module to the circuit. Program the microcontroller to watch for touch packets only and display the touch coordinates on the led display.
- Program the microcontroller to send coordinates to the computer over serial in a format that can be used by a Windows HID Driver.
- Remove the LED display and convert from using RS-232 serial to using a USB connection to the PC. Change the HID driver to support the new USB Interface Controller.
One feature I have in mind is a way to use existing buttons on the dash to switch the video and touchscreen over to a secondary source. This will prevent the need for installing a non-stock switch of some kind somewhere in the dash. (Imagine, holding down the mode button on your steering wheel for 3 seconds to switch the video source)
#25
Wow, great news on the update. Please keep us posted! I'm in for the group buy whenever you get around to that stage =)
I was planning on using the VSA/moonroof area for mounting my toggle switch. Just received a couple of replacement blanks in the mail today that I'll be able to drill into as tests.
I was planning on using the VSA/moonroof area for mounting my toggle switch. Just received a couple of replacement blanks in the mail today that I'll be able to drill into as tests.