Skip to main content

Messages

This section allows you to view all Messages made by this member. Note that you can only see Messages made in areas you currently have access to.

Messages - USBEprom

1
Bus Pirate Support / Re: Getting "Invalid Command" for "flash" in SPI mode
Hi jdunfee.
Premising that I don't have a Bus Pirate v5 and I don't know it in depth, from what I understand from the link you shared, the "flash" command alone does not exist, it must be accompanied by one or more options, something like:

init
probe
erase
write
read
verify
test
-f
-e
-v
-h

You also wrote "flash h", which is not the correct syntax, you should try with "flash -h".
So the "flash" and "flash h" commands you have written, actually do not exist, are not foreseen for the Bus Pirate v5.
The Bus Pirate v5 interprets them as invalid commands, that is why they give you back the "Invalid command: flash. Type ? for help." message.
I understand this from the link you wrote.
I could very well make mistakes, but I think trying the syntax that I explained you don't cost you anything.

Be seeing you.

U.Sb
4
Bus Pirate Support / Re: Bus pirate 3.6 and UART
Hi DoggieBarko.
Maybe this can help:
(From https://github.com/BusPirate/Bus_Pirate/issues/124)
Reading notes on the 6.3 firmware release it is possible came across this

    Bus Pirate firmware version change to v6.3 + Issues 57 and 24 ...

    issue 57
    http://dangerousprototypes.com/track/view.php?id=57

A clutch is added between the setup process and the start of using a protocol, Once setup is done all the pins are still at HiZ. only when you type in the 'W' commend does the clutch engage - pins are actualy connected to peripherals...

So after configuring the UART through m, 3, baudrate select , Data bits (1), Stop bits (1),
Polarity (1), output type (2) following the instructions above and entering "W" followed by selecting the macro, (2) in case it is need for live monitor so (2), then it worked fine. It is a bit confusing since W turns the PSU on.


Therefore, so that UART works correctly, it is need to activate the power supply with the "W" command, being careful do not to connect the wire that brings +3.3 V / +5 V if this is not required, in this way everything should work without problems.

Take a look at this too, please:

https://github.com/BusPirate/Bus_Pirate/issues/132


Be seeing you.

U.Sb
5
Bus Pirate Support / Re: How to interpret Bus Pirate Syntax for I2C sniffing
Hi gaoxiangliu.

I'm new to Bus Pirate. I'm still confused to read the data of I2C sniffing after reading the documents.

You can refer to this link:

http://dangerousprototypes.com/docs/Bus_Pirate_I2C

[ = START BIT
] = STOP BIT
+ = ACK
- = NACK


For example, what does [0x48+0x04+][0x48+0x00-[0x85+]][0x48+0x02+] this indicate?

It indicate START 0x48 ACK 0x04 ACK STOP START 0x48 ACK 0x00 NACK START 0x85 ACK STOP STOP START 0x48 ACK 0x02 ACK STOP

What's the meaning of plus sign (-), minus sign (-)?

From the link mentioned above it is:

+ = ACK
- = NACK


What does 0x85 mean?

It depends on the application, it does not seem to me that there is a standard.
About I2c the only sort of standard I know is SOFTWARE RESET ([1[1[1[1[1[1[1[1[1)

And can I read the data transmitted through the I2C bus?

You can try with a logic state analyzer or using the Bus Pirate as such (http://dangerousprototypes.com/docs/Logic_analyzer_mode), the client will decode the traffic for you but from there to interpret what is actually happening is not simple, because as I have already written there is no standard, it depends on the application.
Possibly a datasheet of the component that manages the I2C bus could help to understand, but still it is not so obvious.
The I2C Bus Sniffer macro is implemented in software and is not a substitute for a proper logic analyzer, It has limits (for example 8bit value addresses are more recognizable on a logic analyzer, snooper, debugger, etc).

Be seeing you.

U.Sb
7
Bus Pirate Support / Re: Bus Pirate SPI sniffer interferes with device under test
Hi dirtypcbs.
The on-board 3,3 volt and 5 volt BusPirate's power supplies can provide up to 150 mA (https://learn.sparkfun.com/tutorials/bus-pirate-v36a-hookup-guide/all), Si24R1's transmission current is typically about 12 mA (https://rqrorwxhriorop5q.ldycdn.com/DL-Si24R1-A+2.4G+Wireless+Transceiver+Module-aidlpBpoKprRoiSimpqoklpk.pdf?dp=), then choosing 3.3 V the Bus Pirate could directly feed the Si24R1 module (still from the datasheet, 5 V are too many for the SI24R1).
In my opinion there are not any inherent problems with the DUT using a separate power source from the Bus Pirate if the levels for power supplies and data bus are respected.
I took a look at the SI24R1's datasheet and it seems to me that rather than wiring BP.CE <-> SI24R1.CE, perhaps it would be advisable to use BP.CE <-> CSN (SPI Chip Selection Pin).
I am dumb as hell, so I am not sure that can change the matter, but trying does not harm.
I believe that observing the data bus with the aid of an oscilloscope could help to understand what is the signal or the signals that interferes with the regular Si24R1's functioning, as one or more levels will be likely outside specifications.

Be seeing you.

U.Sb
8
Bus Pirate Support / Re: Bus Pirate SPI sniffer interferes with device under test
Hi dirtypcbs.
Thanks for the clarifications.
"3xAA battery pack" is a nominal 4,5 V power supply for the "Adjustable Bed remote control" you wrote, something that can be 5 V or so by using fresh batteries: are You sure that the logic levels in the data bus are 3,3 V and not 5 V?
Thanks.

Be seeing you.

U.Sb
9
Bus Pirate Support / Re: Bus Pirate SPI sniffer interferes with device under test
Hi dirtypcbs.
About pull-up resistors on Bus Pirate it is useful to know that the Bus Pirate V3.6 has a 2 kohm pull-up resistor on MOSI to properly power 1-Wire devices, while the other pins have 10 kohm pull-up resistors.

http://dangerousprototypes.com/blog/2019/10/10/bus-pirate-reclaiming-the-vpullup-pin/
http://dangerousprototypes.com/docs/Bus_Pirate_v3.6
http://dangerousprototypes.com/docs/Bus_Pirate_v3.6#Schematic

That said, sorry, but I did not understand if you are using the pull-up resistors on board of your Bus Pirate or some external ones, anyway by simultaneously using on board and external pull-up resistors, the external ones will end up in parallel to those already present on board of the Bus Pirate, obtaining resistive values lower than the lowest value of the constituent parallel and that could be a problem.

Maybe 2 kohm resistor or worse about 1,666 kohm by simultaneously using on board and external pull-up resistors (2 kohm // 10 kohm = ~1,666 kohm) on MOSI it is a too low value for the data bus.
It would be useful to try open-collector by using only external pull-up resistors and not activating the on board ones of the Bus Pirate and perhaps using resistive values greater than 10 kohm that could still be too low in value for the type of data bus, something like 22 kohm, 47 kohm and so.


Be seeing you.

U.Sb
10
Bus Pirate Support / Re: Bus Pirate LCD Adapter v4b
Hi ermionesrl/Andrea.
Sadly I believe that LCD adapter is out of stock and no longer produced.
However, LCD adapter consists of a few components that can also be mounted on a breadboard card without using the specific PCB.
Here all the information you need:

http://dangerousprototypes.com/docs/Bus_Pirate_LCD_adapter_v2
http://dangerousprototypes.com/blog/2012/07/16/added-2x8-hd44780-support-on-the-bus-pirate-lcd-adapter-v3/

I saw that it is possible to buy LCD adapter in bundle with a Bus Pirate clone, please look here:

https://sandboxelectronics.com/?product=bus-pirate-v3b-lcd-adapter-kit


Be seeing you.

U.Sb
11
Bus Pirate Support / Re: Using UART baud rates not listed
Hi DH.
You are welcome.
For what I know, you could use the utility named PicBaud.exe attached:
X
I state that in any case you will not be able to get the exact Baud Rate you wish,  but only approach its value as much as possible , cause limitations in the UART implemented in the PIC24 used on the Bus Pirate.
You have to run PicBaud.exe setting it for PIC24 and 32MHz clock.
Enter the desired baud rate 460800bps and hit calculate, then use the value from the BRGH=1 section.
For 460800bps enter 8 at the Bus Pirate BRG prompt. (command "b" in HiZ).
Please, take a look at these links:

http://dangerousprototypes.com/docs/BPv3_FTDI_UART_demo

http://dangerousprototypes.com/forum/index.php?topic=2418.0


Be seeing you.

U.Sb
12
Bus Pirate Development / Re: Bus Pirate - Community Firmware 7.0
Hi darekpawel.
v3.5 is the same as v3.6 (Sparkfun 3.6a version products 12942):

http://dangerousprototypes.com/docs/Bus_Pirate_v3.5

http://dangerousprototypes.com/docs/Bus_Pirate_v3.6

Me too I have a Bus Pirate v3.6 from SEEEDSTUDIO (https://www.seeedstudio.com/Bus-Pirate-v3-6-universal-serial-interface-p-609.html) and into the terminal it is recognized as v3.5, that is normal.
From my terminal:

Bus Pirate v3.5
Community Firmware v7.1 - goo.gl/gCzQnW [HiZ 1-WIRE UART I2C SPI 2WIRE 3WIRE KEYB LCD PIC DIO] Bootloader v4.5
DEVID:0x0447 REVID:0x3046 (24FJ64GA00 2 B8)
http://dangerousprototypes.com
HiZ>


Be seeing you.

U.Sb
13
Bus Pirate Support / "=X/|X Converts X/reverse X" no longer works.
Hi guys.
By testing "=X/|X  Converts X/reverse X" with firmware U_1-29092019.hex and S_1-29092019.hex I built (http://dangerousprototypes.com/forum/index.php?topic=8498.msg70165#msg70165) I found that it no longer works:

Bus Pirate v3.5
Community Firmware v7.1 - goo.gl/gCzQnW [HiZ 1-WIRE UART I2C SPI 2WIRE 3WIRE KEYB LCD PIC DIO] Bootloader v4.5
DEVID:0x0447 REVID:0x3046 (24FJ64GA00 2 B8)
http://dangerousprototypes.com
HiZ>|0x89
0x01 = 1 = 0b00000001
HiZ>=0x89
0x00 = 0 = 0b00000000
HiZ>


As far as I can understand from the repositories I have archived, the problem starts with releases S_1-28102018.hex and U_1-28102018.hex.
(http://dangerousprototypes.com/forum/index.php?topic=8498.msg67796#msg67796).

"=X/|X  Converts X/reverse X" in all the firmwares released later do not work properly.

Be seeing you.

U.Sb

https://github.com/BusPirate/Bus_Pirate/issues/154
14
Bus Pirate Support / Re: Cracking SLE4428 with usb pirate sniffing
Hi dowhile.

5B [5C C9 0xC9(FF 0xFF)5C C4 0xC4(FF 0xFF)5C 08 0x08(FF 0xFF)5C 89 0x89(FF 0xFF)5D ]

It appears that you are reading your card in MSB format while it needs to be read in LSB order.
In fact 0xC9 0xC4 0x08 0x89 is the ATR of the card even if actually 0xC9 MSB is equal to 0x93 LSB and not 0x92:

92 23 10 91 FF FF 81 13 FF FF FF FF FF FF FF FF FF FF FF FF FF D2 76 00 00 04 00 FF FF FF FF FF 05 04 08 01 02 00 01 02 00 00 00 00 00 04 00 00 05 00 00 00 00 02 00 00 00 00 00 00 05

Be seeing you.
 
U.Sb
15
Bus Pirate Support / Re: I2CEEPROMWIN.c (Bus_Pirate-master/scripts/)
Hi guys.
I took the trouble to analyze the behavior of the program with the help of the logic analyzer loaned to me by the usual friend of mine and I found the following.
Once started, the program immediately initializes the Bus Pirate preparing it for reading / writing according to what is set in the command line, but it waits 8 minutes and 20 seconds to start reading / writing the chip!
So actually the program is not as slow as it seems, it just waits for a long time before starting to do its job.
It is not clear to me why such a long delay has been introduced (8 minutes and 20 seconds!), probably a typo or I do not know what else (could it be the compiler I use ? [MinGW & MinGW-W64], I do not think so, but I can not rule it out either and however, the timings are exact to the logic analyzer, so it remains a mystery to me).
Decoding the I2C traffic with the logic analyzer it is obvious that, actually as already written by the author James Stephenson in his notes inside the C source, a 2 bytes addressing is used.
This fact explains the behavior I detected when reading/writing a 24LC16 EEPROM, as this chip uses 1 byte addressing.
I do not have a suitable chip available to verify the code but I must believe that it works correctly with chips that support 2 bytes addressing, as in the dangerousprototypes forum more than one user wrote that they used it without problems, even if there is the issue of 8 minutes and 20 seconds of waiting, which however may have been attributed to low clock rather than to a fixed delay:

http://dangerousprototypes.com/forum/index.php?topic=4791.msg48475#msg48475

http://dangerousprototypes.com/forum/index.php?topic=2480.msg24148#msg24148

https://www.eevblog.com/forum/testgear/yet-another-tonghui-th2822a-lcr-meter-review-in-pictures/msg384261/#msg384261

So I took a look at the C source of the program, even if I totally have no skills as a programmer, and I noticed that on line 92 the command sleep (500) is entered.
500 seconds = 8 minutes and 20 seconds, bingo!
That line is responsible for the 8 minutes and 20 seconds delay I mentioned in the opening, so I first modified it for 5 seconds of waiting and finally considering that time value too much, for a total of 3 seconds, that is:

92     sleep (3)

After that, I took care of line 24.
In fact I had written in the first message that it is not clear at me what is meant with the phrase "the address must be 2 bytes", but now that it is I chose to change the related message in the command line.
Then, since as I already wrote at the beginning the wording [chip addr 0-8] does not seem to make sense to me because in chips like 24FC64 the available blocks should be 8 numbered from 0 to 7 and not 9 numbered from 0 to 8, I also modified this message in line 24 and the code concerning it in line 28:

24     printf("pc_serial [com?] [chip addr 0-7] [R/W] [file] (read len) (2 bytes mem addr)\n");

28     if(argv[2][0] > '7' || argv[2][0] < '0'){

Once finished editing the C source, I compiled it to obtain the executables in 32bit and 64bit format that I enclose with the original and modified sources.
As far as I can understand, the executables I have compiled work, but since I do not have adequate chips I can not fully test the result, if someone who can do it wants to try them and then report his impressions he is welcome, thanks!

Be seeing you.

U.Sb

https://github.com/BusPirate/Bus_Pirate/issues/59#issuecomment-722677905


( ! ) Fatal error: Uncaught exception 'Elk_Exception' with message 'Please try again. If you come back to this error screen, report the error to an administrator.' in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
( ! ) Elk_Exception: Please try again. If you come back to this error screen, report the error to an administrator. in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
Call Stack
#TimeMemoryFunctionLocation
10.02432491232session_write_close ( )...(null):0
20.02462622848ElkArte\sources\subs\SessionHandler\DatabaseHandler->write( )...(null):0
30.02462623624Database_MySQL->query( ).../DatabaseHandler.php:119
40.06922762384Database_MySQL->error( ).../Db-mysql.class.php:273