Author Topic: Reverse engineering laser engraver to work out interface protocol  (Read 2513 times)

0 Members and 1 Guest are viewing this topic.

Offline CambridgeMartTopic starter

  • Regular Contributor
  • *
  • Posts: 62
  • Country: gb
I recently scored a nice Technifor Lasertop 410 laser engraver system; not quite as cheap as one of Dave's dumpster finds, but not far off it! The unit is complete except for the PC that runs the software; I'm advised it recently had a new pump laser installed (confirmed), but the system went wrong and it was considered too expensive to bother repairing it. There's very little technical documentation available, and the UK agent refuses to help with 2nd user equipment (so much for recycling and reuse!). What I do know is the interface to the PC is RS-232 and is at 19200 Baud, no indication of stop bits or parity though.
Having torn it apart, the controller is based on a PC/104 SBC plus a laser interface card, a scanner driver and power supply board, and an optically isolated interface board. The SBC is an Erim ALICPU6117-104 with the ALI 6117 processor; it has 2 RS232 ports and an RS485 port, a couple of parallel interfaces (listed as being suitable for a graphics LCD panel and a 56 key keyboard), and an IDE interface. Sadly the Wayback machine doesn't have the data sheet for the SBC archived and I can't locate a copy anywhere. I've looked at the 2 serial ports at startup and they both put out a few characters at bootup and feeding a data stream in to one of them does halt the boot process, so it is configured to generate an interrupt on received data. I cannot get any other repsonse from either serial port. I'm now thinking that it may be worth trying to boot the SBC from an IDE drive into a basic Linux with a TTY on one of the serial ports, then reading the filesystem from the flash storage. Does this seem like a reasonable approach?
 

Offline xyrtek

  • Regular Contributor
  • *
  • Posts: 65
  • Country: us
Re: Reverse engineering laser engraver to work out interface protocol
« Reply #1 on: December 31, 2018, 07:59:38 am »
Can you post some pics of the controller, card etc?

Have you looked at the storage on the SBC? OS? Binaries? (sometimes even source code and test routines/scripts)

PC-104 is good old IBM PC/AT ISA bus and should represent no challenge for a motivated hobbyist.

You certainly have options to hack that puppy quick.



 

Offline CambridgeMartTopic starter

  • Regular Contributor
  • *
  • Posts: 62
  • Country: gb
Re: Reverse engineering laser engraver to work out interface protocol
« Reply #2 on: December 31, 2018, 07:34:24 pm »
Images of the top and bottom sides of the SBC board complete with annotations.
 

Offline dcarr

  • Regular Contributor
  • *
  • Posts: 119
Re: Reverse engineering laser engraver to work out interface protocol
« Reply #3 on: December 31, 2018, 11:18:46 pm »
I think the linux idea is a good one.  If you can boot up off external IDE hopefully you'll be able to mount and read out the onboard flash.  Just need to make sure you choose a distro that will be happy inside your limited RAM.  If my read of the datasheet is correct, it has 32MByte.
 

Offline CambridgeMartTopic starter

  • Regular Contributor
  • *
  • Posts: 62
  • Country: gb
Re: Reverse engineering laser engraver to work out interface protocol
« Reply #4 on: January 04, 2019, 09:12:53 pm »
Having found the X_Linux distribution specifically written for the 6117 processor, I've configured an old IDE drive with the OS on it and hooked it up to the IDE interface. Unfortunately it still boots off the internal flash device which implies the BIOS isn't set to boot from IDE. Not sure how to get past this hurdle, so I guess this idea is a dead end; lacking the data for the SBC, I can't work out how to access the BIOS without a display!
I guess I'll need to remove the flash and mount it in a Linux system as a drive, but I'm lacking the tools needed for reading a parallel interface flash device unfortunately.
 

Offline amyk

  • Super Contributor
  • ***
  • Posts: 8930
Re: Reverse engineering laser engraver to work out interface protocol
« Reply #5 on: January 05, 2019, 03:11:28 am »
Given that PC/104 is basically ISA, you should be able to find/make an ISA adapter for it and connect a VGA or other video card.

You can look at other '6117 SBC datasheets/information to see if anything useful can be found.
 

Offline dcarr

  • Regular Contributor
  • *
  • Posts: 119
Re: Reverse engineering laser engraver to work out interface protocol
« Reply #6 on: January 05, 2019, 03:35:16 am »
Maybe this + an ISA video card?  Would have to do the homework to make sure it would work.

https://www.ebay.com/itm/Acrosser-AR-B1052-PC-104-to-ISA-transfer-board/142032447874?hash=item2111cb2982:g:0CYAAOSw1XdUYOTm:rk:3:pf:0
 

Offline CambridgeMartTopic starter

  • Regular Contributor
  • *
  • Posts: 62
  • Country: gb
Re: Reverse engineering laser engraver to work out interface protocol
« Reply #7 on: January 07, 2019, 11:05:05 pm »
Well I went and bought a reasonably cheap EPROM programmer and read the 29F010 and it contains the BIOS; seems the OS is on the flash chip soldered under the board; the label indicates it's probably using the DataLight DOS.
Next attempt is the PC104 to ISA adapter and a VGA card.
 

Offline CambridgeMartTopic starter

  • Regular Contributor
  • *
  • Posts: 62
  • Country: gb
Re: Reverse engineering laser engraver to work out interface protocol
« Reply #8 on: May 27, 2019, 05:52:49 pm »
So at long last I've assembled my PC104 to ISA converter, using an old ISA 16 bit riser card. I've bought an ISA VGA card and I've rigged up the extra -12V supply on the ISA bus that the VGA card requires. However, when I power up, the monitor isn't seeing any video. Checking the signals, the GPU isn't outputting video data or sync, although it is receiving its clock signals (MCLOCK and 3 x VCLOCK) and is outputting the pixel clock. I'm wondering if VGA isn't enabled in the BIOS and if that's inhibiting the VGA card. I'm loathe to reset the BIOS because I don't want to lose the settings, but of course without a working video output, I can't view the BIOS settings. Any suggestions how to overcome this catch 22 situation?

Incidentally, I did eventually get hold of the data sheets for the ALI6117, I may have one of the few copies 'in the wild', even the manufacturer hunted for 2 months to locate it!
 

Offline CambridgeMartTopic starter

  • Regular Contributor
  • *
  • Posts: 62
  • Country: gb
Re: Reverse engineering laser engraver to work out interface protocol
« Reply #9 on: May 27, 2019, 10:35:06 pm »
Well having read the manual (which is in French, just to make things a little more tricky), there's no BIOS option to enable VGA, so it's obviously on by default. Now I need to start investigating what's missing. I did chuck the VGA card into an ISA slot on a motherboard I had on the bench and it does produce video, so I know that's not the problem.
 

Offline CambridgeMartTopic starter

  • Regular Contributor
  • *
  • Posts: 62
  • Country: gb
Re: Reverse engineering laser engraver to work out interface protocol
« Reply #10 on: May 30, 2019, 08:37:30 pm »
So the problem appears to be the cable length between the PC/104 bus and the IDE bus; chopping the cable down to a much shorter length has got things working and I can now get to the DOS prompt. Next job is to work out how to copy the files off the board so that I can do some analysis; sadly there's no FDD controller, so I'll try again with theIDE port.
 

Offline CambridgeMartTopic starter

  • Regular Contributor
  • *
  • Posts: 62
  • Country: gb
Re: Reverse engineering laser engraver to work out interface protocol
« Reply #11 on: May 31, 2019, 06:31:10 pm »
Well the IDE port idea doesn't work, I've tried numerous HDDs and various configurations and it either fails with 'Fixed disk controller error' or if it gets past this point, it fails with operating system not found, diskette error.
When it boots normally, i.e. without an HDD connected, the C: drive is ~ 1.5MB which is probably the Datalight flash device on board.

Clearly connecting an external IDE drive is messing with the onboard storage, I just can't work out why.

Edit: translating the manual and reading it carefully, I realised I had to disable the C800 extension to get an external HDD to work, it's so long since I had to deal with that! It turns out I can get the board to recognise and boot from a disk, but only if it's set to be the only disk (solo setting); I cannot get the board to recognise both the onboard Datalight device and an external HDD.
I do have an old ISA soundcard fitted with an IDE header, I'll try that next and see if it configures as a secondary IDE controller.
« Last Edit: May 31, 2019, 07:00:17 pm by CambridgeMart »
 

Offline CambridgeMartTopic starter

  • Regular Contributor
  • *
  • Posts: 62
  • Country: gb
Re: Reverse engineering laser engraver to work out interface protocol
« Reply #12 on: June 07, 2019, 02:42:21 pm »
After much playing around, I found that if a bootable HDD was connected to the PC104 card, the card would boot from the HDD, but it is not possible to boot from flash when an HDD is connected.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf