Separate names with a comma.
Some features disabled for guests. Register Today.
Discussion in '3D printers' started by Oderbang, Dec 6, 2015.
I would rather open-source the Cube3 than go backwards to a cubex
If I am reading the datasheet correctly, the signal you captured in the vcd files are timing signals.
"Tslot" should be the time between those pulses. What is reading the data is another good question.
I do not understand handshaking for something this critical with timing.
Do you know what the intervals were from the 0A 0B 0C 0D to 1A 0B 0C 0D to 0A 0B 0C 0D again?
I suspect the leading numbers mean something like timestamp, but how to interpret?
Nice Idea. But how can we accomplish that?
Another thing ysou mentioned was to just "filter out" the write commands.
We would need a controller board which reads the data stream and echos it to the printer or the chip. Timing is important.
Hmm. I dont really know what you mean.
The VCD file can be looked at with pulseview for example.
The leading number is the time and the Numbers labeled with A, B, C are the channels. In my file only channel A was used. Thats why the other channels are all 0s.
I think you can measure the distance between the bits in pulseview. This would be your time.
I think I got your question wrong...
Cool. So it is a single sync pulse. That makes it easier. Somehow I thought it was 8 bytes of data.
Yes, I am considering a simple microprocessor controlled "interrupt" to tap the line. once detected, we should be able to scramble the signal at the right time. Scrambling is the easy part.
This is what I am thinking could be mapped back to a time domain... Milliseconds, microseconds, picoseconds?
Just install Pulseview and import the file as VCD. You will see the timeline and can also measure the time between 0s and 1s.
Here are the firmware from 1.07 to 1.14b, hope this helps with reverse engineering the firmware. I would also like to help with that, so if anyone has the IDA or MPLAB files needed to read and dissassemble the firmware, pm me!
I'm following your firmware dissection, I get different addresses in the .ar files, and am not sure how to slice the files out of the firmware. I would like to compare the firmware files and see where the filament handling code is.
Open the file with HxD and find the section where the ASCII code is Image695.hex
Delete everything that comes before and after the section with all the numbers.
It starts with:
Last line of firmware is :
Save the file as hex. This is a Intel Hex file. You can load it into MPLAB and look into the memory.
Something new i did find:
On firmware 1.09A the telnet diagnostics server is up and running on port 23. You can connect to it with telnet client.
There is also Port 80 which is open and leads to the EasyConfig Demo Application of microchip.
On firmware above 1.11A the code was modified:
Diagnostic code removed to provide better prints.
"...to provide better prints" rotfflol
Ok, got quite a few bits of info in the keywords file I uploaded. If any of it looks familiar to others, it may help with firmware edits. Also found what looks like web pages or server pages. Some references to Adobe ImageReady. And what looks like ascii art in the shape of letters if you look at the ascii half in a hex editor.
All of this is out of the 1.07A firmware, before all the extra "improvements"
Also found the following ports open:
Port 23 (TCP) Telnet
Port 25 (TCP) Simple Mail Transfer Protocol
Port 80 (TCP) Microchip EasyConfig Demo
Port 110 (TCP) Post Office Protocol, version 3 (POP3)
Port 119 (TCP) Network News Transfer Protocol
Port 143 (TCP) Internet Message Access Protocol (IMAP)
Port 465 (TCP) URL Rendezvous Directory for SSM (Cisco protocol) or Authenticated SMTP over TLS/SSL (SMTPS)
Port 563 (TCP) NNTP over TLS/SSL (NNTPS)
Port 587 (TCP) email message submission (SMTP)
Port 993 (TCP) Internet Message Access Protocol over TLS/SSL (IMAPS)
Port 995 (TCP) Post Office Protocol 3 over TLS/SSL (POP3S)
Port 30303 (UDP) from the microchip documentation: listen and respond to discovery requests sent to UDP port 30303 starting with the character 'D'.
Port 30304 (TCP) from the microchip documentation: reset if R is received
Port 30305 (TCP) personal observation: port was opened when sending a file from the PC to the printer, maybe saving to the microsd before print? Possible way of loading firmware over ethernet?
And one last post for tonight, could not login to telned with the 3d and print3d credentials, but did find them in the 1.14b firmware.
Which port is acting like a clock/chip-sync-pulse?
That should be linked to the "one-wire" port communicating with the chip.
This should be a very pervasive routine as it appears to be always active except while printing, although presence is sensed, probably on the pull-up resistor (open collector?).
Which firmware are you on? On Firmware 1.09A the credentials are working.
I am on 1.14b to my horror.
You can downgrade. Use two USB sticks.
Put 1.14b on one stick and the desired on the other stick but rename the older firmware file to 1.14b.
Start the update process from USB and get the stick off the printer when it says downloading. Then put in the stick with the older firmware.
I did read this tutorial on another forum.
It was mentioned here too a few times.
Sorry. Could also be on this forum
I downgraded the firmware, and telnet worked with credentials, and did receive the debug info which included the "leveling info" for the build plate. Ever since I connected, there is no data over telnet once logged in.
Great find! I was trying the same credentials on 1.14B and it did not work. Strange, I thought credentials are not correct for the diag telnet. Thank you! Downgrading now ^_^
Ok, made it working Now my printer also goes into diag telnet, I wonder if there are any commands we can use
What exactly did you modify in the firmware to remove the user and pass?
Nothing, read the post above, I just downgraded to version 1.09B and telnet works there.
Thanks Kiza, was hoping you had been able to edit the firmware!
Pardon my ADHD, happened to luck into the XML file listing all the files in the amazonaws for cubify.
Thank you for parsing the XML file, Naldarn!
Editing firmware is not a problem once we know what to edit. Problem will be putting the modified .hex back to .ar file, that's where we will have to find where is the ckecksum(s) stored.
This is what seems to be managing version compatibility:
Yep, I downgraded my cube print software, blocked its internet access and was able to send the printer a file without getting the dreaded "minimal value not met"
Also found this mentioned elsewhere looks like a good mod for those using the chip switch:
3D Systems Cube 3 cartridge modification by Cube_3