home *** CD-ROM | disk | FTP | other *** search
/ DEFCON 12 / DEFCON_12_CD-ROM_2004.iso / Nothingface / doc / presentation.txt < prev    next >
Text File  |  2004-07-08  |  7KB  |  329 lines

  1. - Automotive Networks -
  2.  
  3. - Nothingface <alpha@area49.net> -
  4.  
  5. Automotive Networks
  6.  
  7. Nothingface <alpha@area49.net>
  8.  
  9. $Date: 2004/07/08 23:20:57 $
  10.  
  11. Abstract
  12.  
  13. This presentation provides an introduction to the 
  14. electronic networks present on late model automobiles. 
  15. These networks will be described loosely following the 
  16. OSI model of networking. Common uses of these networks 
  17. will be presented, and the privacy implications of some 
  18. uses will be questioned. The presentation will conclude 
  19. with an introduction to OpenOtto, a free software and 
  20. hardware project implementing the network protocols 
  21. previously described.
  22.  
  23. Overview
  24.  
  25.  About the speaker
  26.  
  27.  Why should I care?
  28.  
  29.  Background on automotive electronics
  30.  
  31.  OBD2
  32.  
  33.    Common usage
  34.  
  35.    Physical and data link
  36.  
  37.    Diagnostic modes
  38.  
  39.    Existing products
  40.  
  41.  OpenOtto
  42.  
  43. About the Speaker
  44.  
  45.  Educated in Electrical and Computer Engineering
  46.  
  47.  Professional experience in hardware and software design
  48.  
  49.  Saturday afternoon mechanic
  50.  
  51.  Concerned about privacy
  52.  
  53. Why Should I Care?
  54.  
  55.  Automobile maintenance monopoly
  56.  
  57.    Service manuals provide mechanical drawings with 
  58.     great accuracy
  59.  
  60.    Limited electronic schematics, limited protocol 
  61.     specifications, no source code
  62.  
  63.  Privacy implications
  64.  
  65.    What does a vehicle record?
  66.  
  67.  Vehicle more under control of manufacturer than owner
  68.  
  69. Background of Automotive Electronics
  70.  
  71.  Under the hood
  72.  
  73.    Controllers for fuel injection, anti-lock brakes, 
  74.     traction control, air bags
  75.  
  76.  User visible
  77.  
  78.    Climate control, entertainment, navigation, communication
  79.  
  80.  On-Board Diagnostics (OBD)
  81.  
  82.    Implementation not standardized
  83.  
  84.  On-Board Diagnostics (OBD2)
  85.  
  86.    Standardized by Society of Automotive Engineers (SAE)
  87.  
  88. Scope of SAE OBD2
  89.  
  90.  Physical connector
  91.  
  92.  Data link layer (three options), network protocol
  93.  
  94.  Diagnostics
  95.  
  96.    Emission control systems required by U. S. Federal law
  97.  
  98.    Standard and manufacturer specific components
  99.  
  100.  Many packet formats and data types for diagnostic data
  101.  
  102.  Read and write ECU memory
  103.  
  104.  Security feature
  105.  
  106. Common Usage - Scan Tool
  107.  
  108.  Electronic control unit (ECU) detects fault condition
  109.  
  110.    e.g., oxygen sensor detected mixture too rich
  111.  
  112.  Diagnostic trouble code (DTC) is stored
  113.  
  114.  Check engine light illuminates, depending on DTC
  115.  
  116.  Mechanic retrieves DTC with a scan tool
  117.  
  118.  Mechanic fixes problem and clears DTC
  119.  
  120. Common Usage - Crash Data Recorder
  121.  
  122.  Airbag control module senses deployment or 
  123.   non-deployment event
  124.  
  125.  Vehicle sensor data is stored in airbag control module
  126.  
  127.    e.g., vehicle speed, engine speed, throttle 
  128.     position, brake state, driver's seat belt
  129.  
  130.  Mechanic or law enforcement downloads crash data for analysis
  131.  
  132.  If vehicle is repaired, airbag control module is reset 
  133.   or replaced
  134.  
  135. Physical Layer, Diagnostic Busses
  136.  
  137.  PWM - Pulse Width Modulation (41.6kbps)
  138.  
  139.    commonly used by Ford
  140.  
  141.  VPW - Variable Pulse Width Modulation (10.4kbps)
  142.  
  143.    commonly used by GM
  144.  
  145.  ISO - Asynchronous Serial (10.4kbps)
  146.  
  147.    commonly used by Chrysler, imports (European, Japanese)
  148.  
  149. Physical Layer, Other
  150.  
  151.  CAN - Controller Area Network
  152.  
  153.    High speed (500kbps)
  154.  
  155.  other (not OBD2)
  156.  
  157.    KWP2000 (ISO standard)
  158.  
  159.    manufacturer proprietary
  160.  
  161. Data Link Layer
  162.  
  163.  OBD2 and ISO (ISO 9141)
  164.  
  165.  Half duplex (shared) bus
  166.  
  167.  Carrier sense multiple access (CSMA), non-destructive collisions
  168.  
  169.  Priority in packet header specified so higher priority 
  170.   packets prevail
  171.  
  172. Network Layer
  173.  
  174.  Addressing modes
  175.  
  176.    Functional
  177.  
  178.    Physical
  179.  
  180.  Packet format
  181.  
  182.    Diagnostic modes: run tests, query sensor, control outputs
  183.  
  184. Data Formats
  185.  
  186.  Scaling, limit, offset, table (SLOT)
  187.  
  188.    Maps raw data bits/bytes to meaningful magnitude
  189.  
  190.    e.g., 8-bit value represents -40 to 87.5 with 0.5 increments
  191.  
  192.  Parameter reference number (PRN)
  193.  
  194.    Maps packet data to useful quantities
  195.  
  196.    Includes SLOT (for magnitude), units, label/description
  197.  
  198. Diagnostic Modes
  199.  
  200.  Request sensor, diagnostic data
  201.  
  202.  Freeze frame capability
  203.  
  204.    Set triggers, read freeze frame data
  205.  
  206.  Read and clear DTCs
  207.  
  208.  On-board monitoring and diagnostic tests
  209.  
  210.    Continuously and non-continuously monitored systems
  211.  
  212.    Initiate test, read results
  213.  
  214. Diagnostic Modes (cont'd)
  215.  
  216.  Read vehicle information
  217.  
  218.    Vehicle identification number (VIN), calibration 
  219.     data and memory checksum
  220.  
  221.  Upload and download memory to ECUs
  222.  
  223. Existing Products, Hardware
  224.  
  225.  Proprietary full interface products
  226.  
  227.    Highly functional, very expensive
  228.  
  229.  Complete devices - usually serial to diagnostic bus
  230.  
  231.  Components - also usually serial to diagnostic bus
  232.  
  233.  Free designs - a few TIA-232 to ISO interfaces
  234.  
  235. Existing Products, Software
  236.  
  237.  Numerous commercial and shareware products
  238.  
  239.    Standard support is most common
  240.  
  241.    Some specialized for vehicle manufacturer
  242.  
  243.  freediag [freediag]
  244.  
  245.    Free software (GPL)
  246.  
  247.    Supports basic scan tool operation, diagnostic procedures
  248.  
  249. OpenOtto
  250.  
  251.  Hardware
  252.  
  253.    TIA-232 to ISO bus
  254.  
  255.    Repurposed USB serial adapter
  256.  
  257.  Software
  258.  
  259.    Layer 2 and 3 network stack
  260.  
  261.    Application software
  262.  
  263.  Free software/hardware (GPL)
  264.  
  265. OpenOtto Network Stack
  266.  
  267.  Common API across networks
  268.  
  269.  Physical layer
  270.  
  271.    ISO, (VPW, PWM, CAN)
  272.  
  273.  Data link layer
  274.  
  275.    OBD2
  276.  
  277.  Network layer
  278.  
  279.    OBD2, (manufacturer extensions)
  280.  
  281. OpenOtto Applications
  282.  
  283.  Scan tool
  284.  
  285.  Network probe and logging tool (a la tcpdump, nmap, etc.)
  286.  
  287.    Explore unidentified ECUs, unknown packet formats
  288.  
  289.  High level monitoring and control
  290.  
  291.    Expanded diagnostics
  292.  
  293.    Logging
  294.  
  295.    Configurable UI for detailed dash board
  296.  
  297. Conclusion
  298.  
  299. References
  300.  
  301. On-Board Diagnostics for Light and Medium Duty Vehicles 
  302. Standards Manual, SAE HS-3000. Society of Automotive 
  303. Engineers, Inc. http://www.sae.org
  304.  
  305. References
  306.  
  307. Freediag. A suite of vehicle diagnostic protocols and 
  308. an OBD II (mostly) compliant Scan Tool. 
  309. http://freediag.sourceforge.net/
  310.  
  311. References
  312.  
  313. OpenOtto. An open implementation of automotive 
  314. communication and diagnostic protocols. 
  315. http://www.area49.net/projects/openotto/
  316.  
  317. Copyright
  318.  
  319. Copyright (c) 2004 Nothingface
  320.  
  321. This document is free software; you can redistribute it 
  322. and/or modify it under the terms of the GNU General 
  323. Public License as published by the Free Software 
  324. Foundation; either version 2 of the License, or (at 
  325. your option) any later version. 
  326.  
  327. $Id: presentation.lyx,v 1.9 2004/07/08 23:20:57 alpha 
  328. Exp $
  329.