• 0

Basys2 Corrupted Device ID

Go to solution Solved by attila,




I have successfully programmed my Basys2 using the 'djtgcfg' utility under Linux dozens of times, but I'm no longer able to do so. When I attempted to program the board yesterday, I got some unusual results:

> djtgcfg enum
Device: 3.....O......<.
    Product Name:   Digilent Basys2-100
    User Name:      3.....O......<.
    Serial Number:  210155528315

> djtgcfg init -d 'Basys2'
ERROR: unable to open device "Basys2"

> djtgcfg init -d '3.....O......<.'
ERROR: unable to open device "3.....O......<."

*I used the '.' character in the strings above to represent non-printable characters, because the replacement character used by my terminal won't display properly on this page.


Using the product name or serial number yields a similar result. It appears that I can't communicate with the device due to a corrupted device ID. However, my computer has no trouble recognizing the Basys2 board:

> lsusb
Bus 003 Device 011: ID 1443:0007 Digilent Development board JTAG

For what it's worth, here is the hexdump of the djtgcfg result above:

> djtgcfg enum | xxd
0000000: 466f 756e 6420 3120 6465 7669 6365 2873  Found 1 device(s
0000010: 290a 0a44 6576 6963 653a 2033 fbbb b0df  )..Device: 3....
0000020: e04f a81f bdff bbf9 ec3c ad0a 2020 2020  .O.......<..    
0000030: 5072 6f64 7563 7420 4e61 6d65 3a20 2020  Product Name:   
0000040: 4469 6769 6c65 6e74 2042 6173 7973 322d  Digilent Basys2-
0000050: 3130 300a 2020 2020 5573 6572 204e 616d  100.    User Nam
0000060: 653a 2020 2020 2020 33fb bbb0 dfe0 4fa8  e:      3.....O.
0000070: 1fbd ffbb f9ec 3cad 0a20 2020 2053 6572  ......<..    Ser
0000080: 6961 6c20 4e75 6d62 6572 3a20 2032 3130  ial Number:  210
0000090: 3135 3535 3238 3331 350a                 155528315.

So it appears the device ID as seen by djtgcfg is

33fb bbb0 dfe0 4fa8 1fbd ffbb f9ec 3cad 0a

A couple of other details that might be helpful:

  • I succesfully programmed a friend's Basys2 multiple times using djtgcfg after having this problem with my board. When using his board, the output from djtgcfg was normal (all printable characters).
  • After experiencing this problem under Linux, I sucessfully programmed my Basys2 from a Windows machine. When using Adept2 under Windows, the device ID string still appears corrupted, but I am able to program it anyways.


I don't have regular access to a Windows machine, so I'd really like to get this working under Linux again. I'm hoping this is just an issue of some corrupted Flash or EEPROM in the AT90USB that could be fixed by reprogramming it... but I'm not sure what to try next. Any ideas?


Thanks for reading!

Edited by KaitlynFranz
Link to post
Share on other sites

6 answers to this question

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now