• Windows 10 operation

    Keith11/21/2020 at 03:19 0 comments

    2020-11-20 

    Windows 10 driver installation.

    After wading through documentation, this was very easy.

    Some documentation said that all you need to do is plug the module in and Windows 10 would install the software. I didn't get the expected pop-up windows saying 'new device detected'.

    Fortunately the documentation said you could install the drivers simply by running a single setup.exe program. I did this without problems.

    The module is now visible in the device manager, as a USB device with two FT2223 ports.

  • Initial work

    Keith11/16/2020 at 03:12 0 comments

    2020-11-16

    Downloaded libft4222-linux-1.4.4.9.tgz and unzipped it. Ran the command:

    sudo ./install4222.sh

    and got no complaints.

    In the examples/get-version.c file, there are instructions for Linux:

    cc get-version.c -lft4222 -Wl,-rpath,/usr/local/lib
    sudo ./a.out

    It reports no devices found. So now I need an FT4222 module to play with.

    2020-11-17

    I read that Linux can use the I2C interface in the VGA port. This could bypass the need for a USB-to-I2C module. 

    https://blog.atx.name/twilight-vga-i2c-breakout-board/

    Ran a command to list the I2C adapters, and ten were reported.

    ls /sys/class/i2c-adapter
    i2c-0  i2c-1  i2c-2  i2c-3  i2c-4  i2c-5  i2c-6  i2c-7  i2c-8  i2c-9

     Tried to detect devices:

    for i in $(seq 0 8); do sudo i2cdetect -y $i ; done The program 'i2cdetect' is currently not installed. You can install it by typing: sudo apt-get install i2c-tools

    This installation command worked. Tried to detect devices again, but got permission denied. Had to become a super user with the 'su' command. This allowed devices to be detected. I don't have any devices attached yet, so all I got was ten lots of this:

         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --  

    I checked that my video card has a VGA output, as these are going obsolete. Fortunately, mine does.

    Time to look for an old VGA cable... 

    2020-11-17

    Ordered two UMFT4222EV-D modules from Mouser. Despatched from Germany, they arrived 2 days later.

    2020-11-22

    Compiled and ran the example code that gets the hardware version from the module. Success!

    The I2C master example writes and reads a serial EEPROM. I have one but VCC is 5V, not the necessary 3V3. That code would simply prove the interface works. I shall examine the code and see how I could get it talking to one of the I2C slave modules I have.

    2020-11-23

    I had expected my USB-to-I2C module to show up as an I2C bus in the Linux file system., and wondered why it did not. On my laptop, I listed the busses found like so:

    i2c-3    unknown       i915 gmbus panel                    N/A
    i2c-1    unknown       i915 gmbus ssc                      N/A
    i2c-8    unknown       DPDDC-B                             N/A
    i2c-6    unknown       i915 gmbus dpd                      N/A
    i2c-4    unknown       i915 gmbus dpc                      N/A
    i2c-2    unknown       i915 gmbus vga                      N/A
    i2c-0    unknown       SMBus I801 adapter at 3040          N/A
    i2c-7    unknown       DPDDC-A                             N/A
    i2c-5    unknown       i915 gmbus dpb                      N/A

     None of these have FTDI in the name. There is one with vga in the name, and two with DDC in the name.  I could scan those buses, then attach an I2C device to the VGA port, and see which bus had changed. The easiest way was to connect my laptop to the VGA port of my monitor. No soldering needed!

    My laptop LCD panel blinked briefly. If I go to the system settings, it now knows it has two displays. Even if my desktop monitor is in use through its DVI port. I also see that devices appear at addresses 30, 37, 4a, 4b and 50 responded on i2c-7 (the DPDDC-A bus). 50 is the configuration ROM.

    sudo i2cdump -y -r 0-127 8 0x50 b
         0  1  2  3...
    Read more »