README 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. cp210x-program
  2. ==============
  3. ATTENTION: THIS VERSION OF cp210x-program IS NOT FULLY TESTED. IT MAY RENDER
  4. YOUR CP210x USELESS OR DESTROY IT.
  5. Be aware that the current version is only tested on CP2102.
  6. The goal of this library is to provide access to the EEPROM of an Silabs CP210x
  7. under Linux.
  8. The CP210x is an USB-to-serial chip used in a lot of USB devices (similar to
  9. FTDIs and PL2303). The CP210x has a EEPROM on the chip which can be programmed
  10. via USB. Silabs provides already a library and gui programm to program this
  11. EEPROM, but only for windows.
  12. This project uses results from monitoring the USB bus when the windows library
  13. programms an CP210x. The windows library was not disassembled for this protocol
  14. analysis.
  15. When the programm is finished, a later goal would be to provide a library which
  16. can be used to access further functions of the CP210x like the general IO pins
  17. of the CP2103. The goal is not to provide an tty driver, such driver exists
  18. already for linux and BSD.
  19. Version: 1.0
  20. Author: Johannes Hölzl <johannes.hoelzl@gmx.de>
  21. Maintainer: Petr Tesařík <cp210x@tesarici.cz>
  22. Dependencies
  23. ------------
  24. * Python >= 2.4
  25. * PyUSB
  26. Since libusb is available on most Linux, Mac OS X and FreeBSD cp210x-program
  27. should run flawlessly on these platforms. Currently it is only tested on
  28. Linux 2.6 (Ubuntu).
  29. If cp210x-program should run as non-root user, add the udev rule found in
  30. doc/45-cp210x-programming.rules to /etc/udev/rules.d. When devices with already
  31. programmed IDs are reprogrammed at this IDs to 45-cp210x-programming.rules.
  32. Usage
  33. -----
  34. Read EEPROM content into hexfile:
  35. $ cp210x-program --read-cp210x -F eeprom-content.hex
  36. Show EEPROM content from device 002 on bus 001:
  37. $ cp210x-program --read-cp210x -m 001/002
  38. Write some data to device with vendor id 0x10C4 and product id 0xEA62:
  39. $ cp210x-program --write-cp210x -m 10C4:EA62 \
  40. --set-product-string="Product String" \
  41. --set-max-power=100 \
  42. --set-bus-powered=no
  43. TODO
  44. ----
  45. * Test on other than CP2102
  46. * Implement CP2103 GIOP settings
  47. * Implement GUI
  48. Links
  49. -----
  50. * CP210x Product page on Silicon Labs:
  51. http://www.silabs.com/tgwWebApp/public/web_content/products/Microcontrollers/Interface/en/interface.htm
  52. * AN114 Customization Guide:
  53. http://www.silabs.com/public/documents/tpub_doc/anote/Microcontrollers/Interface/en/an144.pdf
  54. http://www.silabs.com/public/documents/software_doc/othersoftware/Microcontrollers/Interface/en/an144sw.zip
  55. * AN205 CP210x Baudrate Guide:
  56. http://www.silabs.com/public/documents/tpub_doc/anote/Microcontrollers/Interface/en/an205.pdf
  57. http://www.silabs.com/public/documents/software_doc/othersoftware/Microcontrollers/en/AN205SW.zip
  58. * AN223 Port Configuration and GPIO for CP210x
  59. http://www.silabs.com/public/documents/tpub_doc/anote/Microcontrollers/Interface/en/an223.pdf
  60. http://www.silabs.com/public/documents/software_doc/othersoftware/Microcontrollers/Interface/en/AN223SW.zip
  61. License
  62. -------
  63. The python package 'cp210x' and the python script 'cp210x-program' are provided
  64. under the terms of the GNU LGPL. See LICENSE.