Hello FreeCalypso community, I am pleased to announce a new addition to our software family: a suite of tools for working with USB-serial chips, currently FT2232x from FTDI and CP2102 from Silabs. The first official release is here:
https://www.freecalypso.org/pub/GSM/FreeCalypso/fc-usbser-tools-r1.tar.bz2 https://www.freecalypso.org/pub/GSM/FreeCalypso/fc-usbser-tools-latest.tar.bz2 (symlink) I've been working with FT2232x chips (both FT2232C/D, recently discontinued, and FT2232H, still active) since 2017, and I've been programming their EEPROMs with my own tools since 2018. My FTDI EEPROM tools began life as not-fully-documented, my-own-use-only hack living in freecalypso-hwlab Hg repository, but eventually the tools grew to deserve their own source repository (fc-usbser-tools), thorough documentation up to FC quality standards, and formal releases. All FreeCalypso hw products with FT2232x chips include EEPROMs, and these EEPROMs are always programmed at FreeCalypso HQ (with these same tools) prior to shipment to customers - but of course hacker-users should always be empowered to modify their EEPROMs as needed, hence the tools need to be released and documented. Furthermore, there exist some FT2232x-containing hw products that are not made by FC, but which can benefit from EEPROM programming - the current case of most relevance is Lattice iCEstick FPGA board. Lattice factory ships these boards with blank EEPROMs, resulting in FT2232H chip taking its default VID:PID - but this ID is a poor choice for an FT2232x device that is wired for MPSSE+UART configuration. An alternative USB ID which Linux kernel recognizes as a JTAG quirk is much more convenient, and can be set with EEPROM programming; fc-usbser-tools package provides all needed tools and instructions. Besides FTDI chips, the new toolkit can also program the internal EEPROM of classic CP2102 chips, the ones which require EEPROM programming in order to switch between 230400/460800/921600 and 203125/406250/812500 baud rates. This chip is NRND, but Sysmocom still supply 2.5 mm headset jack serial cables with classic CP2102 inside, keeping this chip relevant - and these Sysmocom-made cables are very convenient, no complaints from me! The original instructions (from OsmocomBB wiki, using Python tools) for programming CP2102 baud rates are a royal pita: Python tools come with dependency hell (I once got them working under Slackware 13.37, but the move to Slackware 14.2 broke them), and the actual instructions are anything but user-friendly. However, with my new tools this baud rate programming is as simple as: cp2102-update-eeprom -b gsm or the other way: cp2102-update-eeprom -b std using only an FC-native, minimal dependency (libusb only) C language tool, with no Python and thus no dependency hell. :) Hasta la Victoria, Siempre, Mychaela aka The Mother _______________________________________________ Community mailing list Community@freecalypso.org https://www.freecalypso.org/mailman/listinfo/community