Hey,
So I am having some serious issues updating this board - to the point where I tried starting from scratch (and fluffed up).
I have a PICkit3 so am planning on using that as a programmer. I have hunted the tutorials etc, and this is a last ditch attempt at getting something workable.
My v1.01 has the 16MHz crystal on the PIC18.
Can someone run through (or point to a tutorial that I've obviously missed), from installing bootloader, correct COM port driver, OLS code, and FPGA code, please?
I have tried doing this all myself, but I cant seem to get it to work.
Many thanks,
Steaky
Hi Steaky,
I'm not sure there is a complete tutorial that includes programming the bootloader,etc. Are you on windows? What version?
The process from scratch is something like this:
Get the latest download archive with all the stuff:
http://dangerousprototypes.com/docs/Ope ... #Downloads (http://dangerousprototypes.com/docs/Open_Bench_Logic_Sniffer#Downloads)
1. Use your programmer and programmer software to install the bootloader from the latest download package at gadgetfactory. If there are two bootloaders, use -v2 or -16mhz version.
2. Short the PGC and PGD pins with something and plug in the board. ACT should light, this is USB HID no driver is needed. Use the updater GUI or follow the firmware update instructions to load the latest firmware .hex file from the download.
3. Remove the short and reset the board. Give windows the .inf file included in the download archive when prompted.
4. Hold UPDATE button and press RESET once, it should reset and the ACT LED lights. Use the update GUI or follow the bitstream update instructions to load the latest bitstream from the download archive.
5. Reset again, you're good to go.
There's a bunch of ways and programs to do the firmware and bitstream now. Please tell me what utilities you prefer/have tried and I'll try to help device a verification so we can track down what when wrong:
http://dangerousprototypes.com/docs/Ope ... r#Software (http://dangerousprototypes.com/docs/Open_Bench_Logic_Sniffer#Software)
Hey,
So I've downloaded "OLSv1-bootloader-v2-16MHz.hex".
Opened MPLAB and imported the HEX file.
Plugged a PICkit3 onto the ICSP header on the Logic Sniffer.
Shorted PGD and PGC together, and ran "OLSv1.firmware.v3.0.bat"
Reset the device, and installed the mchpcdc.inf included in "BP-OLS-bootloaderrescue-v1.zip"
PGC and PGD still shorted and "OLS-version.bat" ran - bootloader version 0.2.2
Remove short and reset device. ACT unlit, TRIG lit.
Hold UPDATE and hit RESET, only LED's are PWR and ACT. Emulating COM6.
Run selftest.bat and get
Opening serial port 'COM6' @ 921600 ... Error Opening :(
Also, I'm on Windows 7 x64
Hi Steaky,
It sounds like everything is working up to the bitstream update.
>>Remove short and reset device. ACT unlit, TRIG lit.
This probably means your old bitstream is still running in the FPGA. With the firmware now installed it boots into 'normal' mode. It will not work because the old bitstream is not compatible with v3 firmware, but it is a good sign everything is working.
>>Hold UPDATE and hit RESET, only LED's are PWR and ACT. Emulating COM6.
>>Run selftest.bat and get
>>Opening serial port 'COM6' @ 921600 ... Error Opening :(
LEDs are right for update mode. COM6 is installed correctly, but does not open. I've never seen this one before.
I wonder if the switch between normal and update mode was too fast and Windows did not handle the re-attachment well.
Could you please try:
1. Hold update when you plug in the USB cable to go to update immediately.
2. Hold UPDATE and then hold reset for longer, to give windows a chance to deal with the change
It is also possible that the update utility does not work on win7 64, but there haven't been any other reports. There is also a windows GUI updater you could try here:
viewtopic.php?f=23&t=1636 (http://dangerousprototypes.com/forum/viewtopic.php?f=23&t=1636)
Please let me know if any of this helps.
Hey,
So I managed to update it fine on my wonk PC (32bit Windows XP) - and it ran in "Jawis-OLS-client" fine.
Just tried using "Jawis-OLS-client" now on my home PC (x64 Windows 7), and it says
"Capture aborted! Failed to open/use COM7! Possible reason: No such port!"
COM7 does exist in Device Manager. I have no idea.
Does this occur right away, or after a few (successful) captures?
Right away.
The logic sniffer is clearly working as I got a load of samples captured at different sample speeds on my XP machine...
But I cant even initiate captures on my W7 machine
Are you running Java7 by coincidence? Can you supply us with the console log of my client, maybe that would give away a hint on why this doesn't work (it should, I've tested it on my W7 laptop at home, perhaps your conditions are different)...
I've got JRE6 installed. How do I get a console log?
Actually I've got this...
15-Nov-2011 18:42:22 nl.lxtreme.rxtx.SerialConnectionFactory <clinit>
WARNING: Enumeration of serial devices failed! Proceeding anyway...
WARNING: RXTX Version mismatch
Jar version = RXTX-2.2
native lib Version = RXTX-2.2pre2
JGoodies Looks: I have successfully installed the 'Sky Bluer' theme.
[15/11/11 18:42:24 - INFO - util.osgi.BundleServiceObserver]: New service (nl.lxtreme.ols.tool.state.StateAnalyser) registered ...
[15/11/11 18:42:24 - INFO - nl.lxtreme.ols.tool.state]: ServiceEvent REGISTERED
[15/11/11 18:42:24 - INFO - nl.lxtreme.ols.tool.spi]: ServiceEvent REGISTERED
[15/11/11 18:42:24 - INFO - util.osgi.BundleServiceObserver]: New service (nl.lxtreme.ols.tool.spi.SPIAnalyser) registered ...
[15/11/11 18:42:24 - INFO - util.osgi.BundleServiceObserver]: New service (nl.lxtreme.ols.device.test.TestDeviceController) registered ...
[15/11/11 18:42:24 - INFO - nl.lxtreme.ols.device.test]: ServiceEvent REGISTERED
[15/11/11 18:42:24 - INFO - nl.lxtreme.ols.export.image]: ServiceEvent REGISTERED
[15/11/11 18:42:24 - INFO - util.osgi.BundleServiceObserver]: New service (nl.lxtreme.ols.export.image.ImageExporter) registered ...
[15/11/11 18:42:24 - INFO - nl.lxtreme.ols.device.generic]: ServiceEvent REGISTERED
[15/11/11 18:42:24 - INFO - util.osgi.BundleServiceObserver]: New service (nl.lxtreme.ols.device.generic.GenericDeviceController) registered ...
[15/11/11 18:42:24 - INFO - util.osgi.BundleServiceObserver]: New service (nl.lxtreme.ols.tool.jtag.JTAGAnalyser) registered ...
[15/11/11 18:42:24 - INFO - nl.lxtreme.ols.tool.jtag]: ServiceEvent REGISTERED
[15/11/11 18:42:24 - INFO - nl.lxtreme.ols.export.vcd]: ServiceEvent REGISTERED
[15/11/11 18:42:24 - INFO - util.osgi.BundleServiceObserver]: New service (nl.lxtreme.ols.export.vcd.ValueChangeDumpExporter) registered ...
[15/11/11 18:42:24 - INFO - nl.lxtreme.ols.tool.1wire]: ServiceEvent REGISTERED
[15/11/11 18:42:24 - INFO - util.osgi.BundleServiceObserver]: New service (nl.lxtreme.ols.tool.measure.MeasurementTool) registered ...
[15/11/11 18:42:24 - INFO - nl.lxtreme.ols.tool.measure]: ServiceEvent REGISTERED
[15/11/11 18:42:24 - INFO - util.osgi.BundleServiceObserver]: New service (nl.lxtreme.ols.tool.onewire.OneWireAnalyser) registered ...
[15/11/11 18:42:24 - INFO - util.osgi.BundleServiceObserver]: New service (nl.lxtreme.ols.tool.i2c.I2CAnalyser) registered ...
[15/11/11 18:42:24 - INFO - nl.lxtreme.ols.tool.i2c]: ServiceEvent REGISTERED
[15/11/11 18:42:24 - INFO - util.osgi.BundleServiceObserver]: New service (org.sump.device.logicsniffer.LogicSnifferDeviceController) registered ...
[15/11/11 18:42:24 - INFO - nl.lxtreme.ols.device.logicsniffer]: ServiceEvent REGISTERED
[15/11/11 18:42:24 - INFO - util.osgi.BundleServiceObserver]: New service (nl.lxtreme.ols.tool.uart.UARTAnalyser) registered ...
[15/11/11 18:42:24 - INFO - nl.lxtreme.ols.tool.uart]: ServiceEvent REGISTERED
[15/11/11 18:42:24 - DEBUG - nl.lxtreme.ols.runner.Runner]: cache dir : C:Progols-0308jawis-ols-clientfelix-cache
[15/11/11 18:42:24 - DEBUG - nl.lxtreme.ols.runner.Runner]: binary dir: C:Progols-0308jawis-ols-clientbin
[15/11/11 18:42:24 - INFO - nl.lxtreme.ols.runner.Runner]: plugin dir: C:Progols-0308jawis-ols-clientplugins
[15/11/11 18:42:24 - INFO - nl.lxtreme.ols.runner.Runner]: Bootstrap complete ...
[15/11/11 18:42:24 - INFO - org.apache.felix.framework]: FrameworkEvent STARTED
[15/11/11 18:42:24 - INFO - org.apache.felix.framework]: BundleEvent STARTED
[15/11/11 18:42:24 - INFO - nl.lxtreme.ols.client]: BundleEvent STARTED
[15/11/11 18:42:25 - DEBUG - nl.lxtreme.ols.client.Host]: LogicSniffer initialized ...
[15/11/11 18:42:25 - INFO - nl.lxtreme.ols.client.Host]: running on windows7, 6.1 (x86-64).
[15/11/11 18:42:25 - INFO - nl.lxtreme.ols.client.Host]: LogicSniffer v0.9.4 started ...
[15/11/11 18:42:39 - INFO - logicsniffer.LogicSnifferDevice]: Starting capture ...
[15/11/11 18:42:39 - INFO - logicsniffer.LogicSnifferDevice]: Attaching to COM7 @ 19,200bps (DTR = low) ...
[15/11/11 18:42:39 - DEBUG - rxtx.SerialConnectionFactory]: No such port!
org.apache.felix.log.LogException: gnu.io.NoSuchPortException: null
at gnu.io.CommPortIdentifier.getPortIdentifier(CommPortIdentifier.java:269)
at nl.lxtreme.rxtx.SerialConnectionFactory.getSerialPort(SerialConnectionFactory.java:156)
at nl.lxtreme.rxtx.SerialConnectionFactory.obtainSerialPort(SerialConnectionFactory.java:198)
at nl.lxtreme.rxtx.SerialConnectionFactory.createConnection(SerialConnectionFactory.java:114)
at nl.lxtreme.ols.io.ConnectorServiceImpl.open(ConnectorServiceImpl.java:152)
at org.sump.device.logicsniffer.LogicSnifferDeviceController$2.getConnection(LogicSnifferDeviceController.java:222)
at org.sump.device.logicsniffer.LogicSnifferDevice.attach(LogicSnifferDevice.java:568)
at org.sump.device.logicsniffer.LogicSnifferDevice.doInBackground(LogicSnifferDevice.java:984)
at org.sump.device.logicsniffer.LogicSnifferDevice.doInBackground(LogicSnifferDevice.java:45)
at javax.swing.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at javax.swing.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
[15/11/11 18:42:39 - WARN - logicsniffer.LogicSnifferDevice]: Failed to open/use COM7! Possible reason: No such port!
[15/11/11 18:42:39 - WARN - LogicSnifferDeviceController]: Exception during capture, details:
java.io.IOException: Failed to open/use COM7! Possible reason: No such port!
at org.sump.device.logicsniffer.LogicSnifferDevice.attach(LogicSnifferDevice.java:599)
at org.sump.device.logicsniffer.LogicSnifferDevice.doInBackground(LogicSnifferDevice.java:984)
at org.sump.device.logicsniffer.LogicSnifferDevice.doInBackground(LogicSnifferDevice.java:45)
at javax.swing.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at javax.swing.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
(http://http://i1228.photobucket.com/albums/ee459/steaky1212/blog/comport.jpg)
So clearly COM7 does actually exist. Also, if that isnt the stuff you wanted, youre gonna have to give me explicit instructions on how to get it.
*UPDATE*
I cant open this com port in any other software either, so I am beginning to blame the Microchip drivers
*UPDATE*
I cant open this com port in any other software either, so I am beginning to blame the Microchip drivers
I'm sorry about the ongoing problems.
The OLS is a USB CDC device, it is generic and no drivers are used. The .inf file just ties the USB ID to the drivers already in windows. The USB HID firmware update mode works on the win7 computer, but not the CDC mode, which suggests CDC mode problem.
I googled around and it looks like there are some known bugs in Win7 64 with an older version of the Microchip .inf:
http://www.microchip.com/forums/tm.aspx ... eme=Mobile (http://www.microchip.com/forums/tm.aspx?m=488342&settheme=Mobile)
Maybe the attached .inf will help?
The v3.x firmware uses Microchip's base default USB stack, we have not had any specific issues on Win7 computers so far.
Is your win7 64 up to date? Maybe there is a patch or update for the USB CDC serial driver. I know it is a long shot, but I thought I'd suggest it too.
Maybe a stupid question, but might UAC be a reason for the inaccessible COM-port? I know Win7 is less annoying in the UAC messages, but perhaps you're running in a restricted account?
I have just tried OLS on my 64-bit Windows 7 system. I'm not getting an error, the operation is successful with the files in the ols-308 package. However, I shut down UAC, and also did the trick at the forum message Ian posted (before I realized that sys file and inf files are different stuff) so I don't know if they have any affect.
Well I have no idea what is going on - I have tried everything and it still isnt working properly.
And it is getting frustrating beyond comprehension.
UAC is off, the fix has been applied. I am at a complete and utter loss
Hmm, too bad the problem still persists, steaky1212...
The only thing I can think of is that maybe Windows has cached the (old?) driver for your COM-port. I believe this is done to make USB devices more PnP (i.e.: don't show a installation popup when you reinsert a USB-device).
Could you try the USBDeview (http://http://www.nirsoft.net/utils/usb_devices_view.html) program to see whether the OLS-device pops up in the list of USB devices? It also allows you to deinstall the current drivers for any (connected!) USB device; causing Windows to re-install drivers upon the next reinsertion. Just to make sure, you might want to reboot after deinstalling the virtual COM-port driver.
One note though: be careful with which drivers you deinstall, as it can cause weird problems in your Windows installation (been there, done that, caused me two very frustrating days ;))...
I have the same problem. But Somehow managed to get windows to see the COM port long enough to do an update.
Anyhow, I tried reinstalling the drivers using the driver inf, and I then used the USBDeview and manually un-installed ALL of the COM ports I had connected the sniffer into.
I can now sniff my logic using the OLS-client, but I have needed to un-install the driver and restart the client if things go wrong.