{"id":476,"date":"2009-06-30T22:52:30","date_gmt":"2009-06-30T12:52:30","guid":{"rendered":"http:\/\/www.madox.net\/blog\/?p=476"},"modified":"2009-06-30T22:52:30","modified_gmt":"2009-06-30T12:52:30","slug":"easysync-usb-can-bus-adapter-works-great-in-ubuntu-after-some-fiddling","status":"publish","type":"post","link":"http:\/\/www.madox.net\/blog\/2009\/06\/30\/easysync-usb-can-bus-adapter-works-great-in-ubuntu-after-some-fiddling\/","title":{"rendered":"EasySync USB-CAN Bus Adapter &#8211; Works great in Ubuntu after some fiddling"},"content":{"rendered":"<figure id=\"attachment_477\" aria-describedby=\"caption-attachment-477\" style=\"width: 358px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.madox.net\/blog\/wp-content\/uploads\/2009\/06\/CIMG2414A.JPG\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-477\" title=\"CIMG2414A\" src=\"http:\/\/www.madox.net\/blog\/wp-content\/uploads\/2009\/06\/CIMG2414A-358x300.jpg\" alt=\"Neat little package\" width=\"358\" height=\"300\" srcset=\"http:\/\/www.madox.net\/blog\/wp-content\/uploads\/2009\/06\/CIMG2414A-358x300.jpg 358w, http:\/\/www.madox.net\/blog\/wp-content\/uploads\/2009\/06\/CIMG2414A.JPG 450w\" sizes=\"auto, (max-width: 358px) 85vw, 358px\" \/><\/a><figcaption id=\"caption-attachment-477\" class=\"wp-caption-text\">Neat little package<\/figcaption><\/figure>\n<p>The toys just keep coming in!\u00a0 Another one of those wallet killing impulsive orders whilst I was sick in bed last week just arrived today, a USB-CAN bus converter module by <a href=\"http:\/\/www.easysync.co.uk\/\" target=\"_blank\">EasySync<\/a> that promises a great interface and should work in Linux!\u00a0 This will give a little bump start to my <a href=\"http:\/\/www.madox.net\/blog\/mazda-can-bus\/\" target=\"_blank\">Mazda CAN Bus<\/a> \/ <a href=\"http:\/\/www.madox.net\/blog\/2009\/03\/23\/mchumby-mazdamadox-chumby\/\" target=\"_blank\">mChumby<\/a> projects.<\/p>\n<p><em>Note : EasySync UK&#8217;s online form doesn&#8217;t allow international shipping but a short E-mail or two managed that.\u00a0 There is a US subsidiary with US and international shipping, but the international shipping rates on the US site is plain ridiculous [$68USD to ship a $88 device to Australia].<\/em><\/p>\n<p><em>Note 2 : I hear the interface is mimicking the Lawicel CAN-USB interface&#8230;only hearsay&#8230;<br \/>\n<\/em><\/p>\n<p>Plugged it in &#8211; didn&#8217;t work.\u00a0 Doh!\u00a0 Took a peek at the manual and website, nothing on Linux other than &#8220;Linux drivers provided&#8221;&#8230; So much for the marketing material, guess I have to try make it work myself.\u00a0 (Yes I got it working, read on for the quick run-down post aimed at helping others)<\/p>\n<p><!--more--><\/p>\n<figure id=\"attachment_478\" aria-describedby=\"caption-attachment-478\" style=\"width: 450px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.madox.net\/blog\/wp-content\/uploads\/2009\/06\/CIMG2417A.JPG\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-478\" title=\"CIMG2417A\" src=\"http:\/\/www.madox.net\/blog\/wp-content\/uploads\/2009\/06\/CIMG2417A-450x282.jpg\" alt=\"Sneak peek inside the box\" width=\"450\" height=\"282\" srcset=\"http:\/\/www.madox.net\/blog\/wp-content\/uploads\/2009\/06\/CIMG2417A-450x282.jpg 450w, http:\/\/www.madox.net\/blog\/wp-content\/uploads\/2009\/06\/CIMG2417A.JPG 900w\" sizes=\"auto, (max-width: 450px) 85vw, 450px\" \/><\/a><figcaption id=\"caption-attachment-478\" class=\"wp-caption-text\">Sneak peek inside the box<\/figcaption><\/figure>\n<p>Now with the photos out of the way, a little bit of detective work is ahead of us&#8230; why doesn&#8217;t this thing work&#8230; I paid so much money for it to replace the qprotos adapter!<\/p>\n<p>A little bit of lsusb (or cat \/proc\/bus\/usb\/devices if you&#8217;ve got usbdevfs) sleuthing later&#8230;<\/p>\n<blockquote>\n<pre>Bus 003 Device 004: ID 0403:fac6 Future Technology Devices International, Ltd \r\nDevice Descriptor:\r\n bLength\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 18\r\n bDescriptorType\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\r\n bcdUSB\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2.00\r\n bDeviceClass\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 (Defined at Interface level)\r\n bDeviceSubClass\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 \r\n bDeviceProtocol\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 \r\n bMaxPacketSize0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 8\r\n idVendor\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x0403 Future Technology Devices International, Ltd\r\n idProduct\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0xfac6 \r\n bcdDevice\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 6.00\r\n iManufacturer\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1 EasySync\r\n iProduct\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2 USB2-F-7001 CAN-Plus Adapter\r\n iSerial\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3 ESNFWLPL\r\n bNumConfigurations\u00a0\u00a0\u00a0\u00a0\u00a0 1\r\n Configuration Descriptor:\r\n bLength\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 9\r\n bDescriptorType\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2\r\n wTotalLength\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 32\r\n bNumInterfaces\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\r\n bConfigurationValue\u00a0\u00a0\u00a0\u00a0 1\r\n iConfiguration\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 \r\n bmAttributes\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0x80\r\n (Bus Powered)\r\n MaxPower\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 150mA\r\n Interface Descriptor:\r\n bLength\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 9\r\n bDescriptorType\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 4\r\n bInterfaceNumber\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\r\n bAlternateSetting\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\r\n bNumEndpoints\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2\r\n bInterfaceClass\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 255 Vendor Specific Class\r\n bInterfaceSubClass\u00a0\u00a0\u00a0 255 Vendor Specific Subclass\r\n bInterfaceProtocol\u00a0\u00a0\u00a0 255 Vendor Specific Protocol\r\n iInterface\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2 USB2-F-7001 CAN-Plus Adapter\r\n Endpoint Descriptor:\r\n bLength\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 7\r\n bDescriptorType\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5\r\n bEndpointAddress\u00a0\u00a0\u00a0\u00a0 0x81\u00a0 EP 1 IN\r\n bmAttributes\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2\r\n Transfer Type\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Bulk\r\n Synch Type\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 None\r\n Usage Type\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Data\r\n wMaxPacketSize\u00a0\u00a0\u00a0\u00a0 0x0040\u00a0 1x 64 bytes\r\n bInterval\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\r\n Endpoint Descriptor:\r\n bLength\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 7\r\n bDescriptorType\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5\r\n bEndpointAddress\u00a0\u00a0\u00a0\u00a0 0x02\u00a0 EP 2 OUT\r\n bmAttributes\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2\r\n Transfer Type\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Bulk\r\n Synch Type\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 None\r\n Usage Type\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Data\r\n wMaxPacketSize\u00a0\u00a0\u00a0\u00a0 0x0040\u00a0 1x 64 bytes\r\n bInterval\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\r\nDevice Status:\u00a0\u00a0\u00a0\u00a0 0x0000\r\n (Bus Powered)<\/pre>\n<\/blockquote>\n<p>Yup definitely a FTDI device, even with the FTDI vendor ID (Did I mention I love FTDI?).\u00a0 Looks like EasySync decided they wanted their own unique product ID, unfortunately that means the vanilla ftdi_sio drive won&#8217;t pick it up without a little bit of coercing.<\/p>\n<p>The little bit of coercing goes like&#8230;<\/p>\n<blockquote><p><em>modprobe ftdi_sio vendor=0x0403 product=0xfac6<\/em><\/p><\/blockquote>\n<p>And bingo&#8230;<\/p>\n<blockquote>\n<pre>[ 6372.229046] usb 2-2: new full speed USB device using uhci_hcd and address 3\r\n[ 6372.437247] usb 2-2: configuration #1 chosen from 1 choice\r\n[ 6372.439834] ftdi_sio 2-2:1.0: FTDI USB Serial Device converter detected\r\n[ 6372.439872] usb 2-2: Detected FT232RL\r\n[ 6372.439934] usb 2-2: FTDI USB Serial Device converter now attached to ttyUSB0<\/pre>\n<\/blockquote>\n<p>Using putty to connect to ttyUSB0 at 115200, and typing &#8220;H&#8221; followed by &#8220;Enter&#8221; gives us<\/p>\n<blockquote>\n<pre>=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2009.06.30 21:23:18 =~=~=~=~=~=~=~=~=~=~=~=\r\nH\r\nList of Supported Commands\r\nO - Open CAN Channel\r\nC - Close CAN Channel\r\nt - Transmit Standard Frame\r\nT - Transmit Extended Frame\r\nF - Read Status Flag\r\nV - USB2-F-7001 Version\r\nN - Serial Number of USB2-F-7001\r\nZ - TimeStamp Option On\/Off\r\nS - Set CAN Bit Rate\r\ns - Set BRGCON Registers\r\nm - Set Acceptance Mask\r\nM - Set Acceptance Filter\r\nB - Enter Bootload Mode\r\nL - Set Listen Mode\r\nE - Clear Buffers and Echo Char\r\nR - Reset USB2-F-7001\r\nH, ? or h - Help on USB2-F-7001 Commands<\/pre>\n<\/blockquote>\n<p>Only problem is that its Mac style line endings.\u00a0 Even the append CR to LF option in putty is useless because the stream seems to be CR without LF&#8230;\u00a0 Doesn&#8217;t hurt too much except displaying it is a bit annoying.<\/p>\n<p>The EasySync USB-CAN adapter&#8217;s pinout is pretty much standard DB9 for CAN Bus and all I had to do was connect my existing J1962 (aka OBD-II aka DLC-2) cable on and onto the car I went.<\/p>\n<p>A couple of short &#8220;S6&#8221; (500kbps) &#8220;L&#8221; (Open connection for listen mode) commands later, I had CAN data being spat back at me<\/p>\n<blockquote>\n<pre>t04680601FF0000000000\r\nt04680601FF0000000000\r\nt04680601FF0000000000\r\nt04680601FF0000000000\r\nt04680601FF0000000000\r\nt20F8FFFF27104000FF01\r\nt2118FFFF000040000001\r\nt4B082710271027102710\r\nt19080000000000000000<\/pre>\n<\/blockquote>\n<p>All is good&#8230;except I just deleted my Chumby Development Virtual Machine a few hours ago&#8230;ooops&#8230;another day before I use this neat little adapter for <a href=\"http:\/\/www.madox.net\/blog\/2009\/03\/23\/mchumby-mazdamadox-chumby\/\" target=\"_blank\">mChumby<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The toys just keep coming in!\u00a0 Another one of those wallet killing impulsive orders whilst I was sick in bed last week just arrived today, a USB-CAN bus converter module by EasySync that promises a great interface and should work in Linux!\u00a0 This will give a little bump start to my Mazda CAN Bus \/ &hellip; <a href=\"http:\/\/www.madox.net\/blog\/2009\/06\/30\/easysync-usb-can-bus-adapter-works-great-in-ubuntu-after-some-fiddling\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;EasySync USB-CAN Bus Adapter &#8211; Works great in Ubuntu after some fiddling&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17,13,16],"tags":[12,31,8,21,38,14],"class_list":["post-476","post","type-post","status-publish","format-standard","hentry","category-software","category-software-problems-help","category-software-tips-tricks","tag-can-bus","tag-chumby","tag-free-software","tag-free-software-tips","tag-ftdi","tag-ubuntu"],"_links":{"self":[{"href":"http:\/\/www.madox.net\/blog\/wp-json\/wp\/v2\/posts\/476","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.madox.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.madox.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.madox.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.madox.net\/blog\/wp-json\/wp\/v2\/comments?post=476"}],"version-history":[{"count":1,"href":"http:\/\/www.madox.net\/blog\/wp-json\/wp\/v2\/posts\/476\/revisions"}],"predecessor-version":[{"id":479,"href":"http:\/\/www.madox.net\/blog\/wp-json\/wp\/v2\/posts\/476\/revisions\/479"}],"wp:attachment":[{"href":"http:\/\/www.madox.net\/blog\/wp-json\/wp\/v2\/media?parent=476"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.madox.net\/blog\/wp-json\/wp\/v2\/categories?post=476"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.madox.net\/blog\/wp-json\/wp\/v2\/tags?post=476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}