• 0
Sign in to follow this  
odougs

Basys2 Corrupted Device ID

Question

Hello,

 

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

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

It seems that the User Name entry in the device USB EEPROM is altered.

 

The following Python script can be used, under Windows or Linux, to rename/rewrite it:

Share this post


Link to post
Share on other sites
  • 0

Hi odougs,

 

I have forwarded your question onto our support team who will get back to you here on the forum.

 

Thanks,

JColvin

Share this post


Link to post
Share on other sites
  • 0

Hi odougs,

 

Not as of yet. I'll email the support team again to help expedite the process though.

 

Thank you for your patience.

 

Thanks,

JColvin

Share this post


Link to post
Share on other sites
  • 0

Hello atilla,

 

That fixed my issue. Thanks very much for your help! Thanks also to JColvin for passing the message to the support team.

Share this post


Link to post
Share on other sites

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
Sign in to follow this