Welcome! Log In Create A New Profile

Advanced

dpf-ax 0.320

Posted by superelchi 
dpf-ax 0.320
October 16, 2012 09:48AM
Finally found the time to commit this version as revision 31.

From CHANGELOG:

* Support for model specific contrast init.
* Dpf type definition moved from config.h to ./lcd/TYPE/dpfmodel.h.
* New: knowntypes_builder.py builds type info from definitions in lcd/$(TYPE)/dpfmodel.h:
  - fw/knowntypes.py - for use by identify.py
  - fw/knowntypes.html - simple html page listing all supported dpfs.
* Identify.py rewrite:
  - Commandline options (-v = verbose, -d = developer support) replace manual dev_mode editing.
  - Extended developer support by putting dump-snipppets and disassembler-scripts in folder fw/identify.out.
  - Detection of default brightness / contrast value.
  - Better identification of models mit non-standard init ("fake" CRC generation).
  - Replaced knowdpfs.py with autogenerated knowntypes.py (see knowtypes_builder.py).
* Shebang added to all python scripts in folder fw.
* Hint to use hiddetach if dpf is claimed by hid added to rawusb.c
* Modelname change:
  - pearl -> pearl_portrait
  - pearl_landscape -> pearl
  - focal -> focal_portrait
  - focal_landscape -> focal
* New model:
  - acme_2
  - delightdigi_black_portrait
  - jovisa
  - linkdelight_2
  - linkdelight_3
  - pearl_custom

As you may already know, I had to change the init code for all dpfs. Because I have access only to a limited number of frames, most of the changes were done "blind".

So: please test the new version with your dpfs and post any findings (working / not working) for the different models here.

EDIT:
Please note that the following dpfs have no or no "real" contrast-table. So there is no "Contrast" item in "Setup" menu for these types:
acme_2, agk_violet, blue, coby_dp151_white, delightdigi_2_portrait,
dx104500, dx104838, dx21334a, dx21334b,
focal, focal_portrait, linkdelight_2, linkdelight, linkdelight_3,
pearl, pearl_portrait, pink, white.

Howerever, the default contrast value will be set on init for mostly all types. No contrast setting at all only for the following types:
acme_2, agk_violet, coby_dp151_white, dx104500, dx104838

superelchi



Edited 1 time(s). Last edit at 10/17/2012 04:39AM by superelchi.
Re: dpf-ax 0.320
October 17, 2012 09:21AM
Thanks superelchi for this major update to version 0.320.

I would like to suggest that for the next release, the information on the contrast table can be included in knowntypes.html as an additional column.

Question: How do we go about hacking a new frame now?
Re: dpf-ax 0.320
October 17, 2012 10:27AM
ax206geek Wrote:
-------------------------------------------------------
> Thanks superelchi for this major update to version
> 0.320.
>
> I would like to suggest that for the next release,
> the information on the contrast table can be
> included in knowntypes.html as an additional
> column.
>
Done.

> Question: How do we go about hacking a new frame
> now?
More or less as before - identify.py generates just some more support files. I will try to write a short howto ;-)

superelchi
Re: dpf-ax 0.320
October 18, 2012 07:23AM
I'll put that howto into the wiki when your howto is ready :)



Edited 1 time(s). Last edit at 10/18/2012 07:25AM by ax206geek.
j3r
Re: dpf-ax 0.320
November 20, 2012 10:42AM
Thanks for all your work on this! I have 1908:0102 GEMBIRD which is identified as

$ python identify.py full.bin
Looking for firmware.............: Found (buildwin, 320x240 px).
Looking for Openwin..............: Found.
Looking for LcdIniTbl............: Found.
Looking for known signatures.....: Found.

Your dpf is compatible with model ['dx104500'].

Now, when I flash with dx104500 the hack works as far as I can tell, when I push the reset button I see the "eyes" or the setup menu, but only for one second then the screen goes black.

I know it says the firmware for this model is not finished and usb disconnect may cause a crash, but I am not disconnecting it, just trying to boot the frame.

Is this a known issue or does anyone have an idea what could be wrong? TIA!

PS: Sorry if this is in the wrong place, figured I would post it here as I am using the newest firmware and utils.
Re: dpf-ax 0.320
November 21, 2012 02:57AM
The dx104500 is one of these tricky "frequency modulated bacḱlight" beast. Looks like your dpf has the same signature as the dx104500 but is not 100% compatible. Do you have a link to a picture of this dpf?

Please post the original fw. I will have a look.

superelchi
j3r
Re: dpf-ax 0.320
November 21, 2012 11:16AM
Here is my full dump of original firmware: http://ubuntuone.com/12oDDvBYnFWNNJu6bARCsH

The frame is this one http://www.aliexpress.com/snapshot/203609950.html

Willing to do testing if you need, let me know and thanks for checking it out.
Re: dpf-ax 0.320
November 22, 2012 09:04AM
Strange. Your dump has the same signature as my dx104500. It should work. As a test I tried to flash your dump to my dx104500 and - not working! So the two dpfs are not compatible, even if the blit & initialisation code is the same.
I will have a closer look as soon as time permits (don't know when - very busy atm)...

superelchi
Solo0815
Re: dpf-ax 0.320
December 01, 2012 05:31AM
I ordered two of this devices:
http://www.ebay.de/itm/260978964426?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649

I have 2 Problems:
1. No matching FW found on the first device:
The identify-script gives me:
# sudo python ./identify.py /dev/sg7
Detecting & reading dpf flash...
Opening generic SCSI device '/dev/sg7'
Manufacturer: Winbond
Size        : 2 MB
Reading 200000 bytes...
Flash written to file 'identify.out/full.bin'.

Looking for firmware.............: Found (coby, 320x240 px).
Looking for Openwin..............: Found.
Looking for LcdIniTbl............: Found.
Looking for known signatures.....: None.
Looking for known version info...: None.

Sorry, no matching dpf found.

But following models have a partial signature match: [['dx21334b']]

Heres the fulldump.bin
http://www.filedropper.com/full
What FW is matching?

2. Problem: Can't get another DPF to work with lcd4linux:
"Same" (looking) DPF as above, but the identify.py gave me matching with "linkdelight_2". I flashed it and now I see a few Eyes on the screen -> the flash worked (i think). But if i try it with lcd4linux i get always:
# ./lcd4linux -i -f ~/lcd4linux.conf 
Found AX206 DPF
Error: Failed to claim usb device!
Possibly you have to 'sudo libhid-detach-device 1908:3318'
dpf: cannot open dpf device usb0
Error initializing driver DPF: Exit!
But the devixe is 1908:0102 as lsusb says:
# lsusb -v
Bus 007 Device 015: ID 1908:0102 GEMBIRD 
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass       255 Vendor Specific Subclass
  bDeviceProtocol       255 Vendor Specific Protocol
  bMaxPacketSize0         8
  idVendor           0x1908 GEMBIRD
  idProduct          0x0102 
  bcdDevice            2.00
  iManufacturer           2 
  iProduct                3 
  iSerial                 1 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              200mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              4 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
How can I detach the device from usbhid and use it with lcd4linux?
I'm on Kubuntu 12.10, which has no libhid -> no "libhid-detach-device"
udev-rule didn't work, too
ATTRS{idVendor}=="1908", ATTRS{idProduct}=="0102", OPTIONS=="ignore_device"
SUBSYSTEM=="usb", ACTION=="remove", ENV{ID_MODEL_ID}=="0102", ENV{ID_VENDOR_ID}=="1908"
Thx for your great work and your help ;)
Re: dpf-ax 0.320
December 01, 2012 09:55AM
1. problem:
Linkdelight is changing types faster than I change my pants. :-O
Please try attached fw.

2. problem:
Did you run lcd4linux as root?

superelchi
Attachments:
open | download - fw_disp_linkdelight_4.zip (38.8 KB)
Solo0815
Re: dpf-ax 0.320
December 02, 2012 05:56AM
Thx, thx, thx, I got the 2 DPFs working now!

Now I want to give something back to the project and help to make it better.
Here a few suggestions for a next version of dpf-ax:

- Add the "scale-text"-patch from here:
http://www.vdr-portal.de/board18-vdr-hardware/board11-lcds/p1043999-pearl-display-textskalierung-unter-lcd4linux/
I tested it with your version and lcd4linux compiled fine and is working. Now DPF supports text-sizes like 8x8, 8x12 ... "power of 2" of 6 and 8

- Add a README-section for Ubuntu-Users:
On Ubuntu:
Flashing works with "sudo", if you want to run lcd4linux with sudo, you get this error:
# sudo ./lcd4linux -i -f ~/lcd4linux.conf 
Found AX206 DPF
Error: Failed to claim usb device!
Possibly you have to 'sudo libhid-detach-device 1908:3318'
dpf: cannot open dpf device usb0
Error initializing driver DPF: Exit!
"libhid-detach-device" is not available for the newer (>10.04) versions of Ubuntu and even you add it to Ubuntu via deb, it is _not_ working! To get rid of this error, you have to be "root" first with "sudo -i". Now lcd4linux is working from the CLI

- add sample configs for lcd4linux, so that users can test their DPF "out of the box" ;)
If you want, I can put some files together ;)

- Add a README-section for udev-rules:
The following rules are working fine for me. So if I add the DPF to the PC, lcd4linux is started, if I unplug it, it is killed
SUBSYSTEM=="usb", ACTION=="add", ENV{ID_MODEL_ID}=="0102", ENV{ID_VENDOR_ID}=="1908", RUN+="/path/to/dpf-ax/lcd4linux/lcd4linux -f /path/to/lcd4linux.conf"
SUBSYSTEM=="usb", ACTION=="remove", ENV{ID_MODEL_ID}=="0102", ENV{ID_VENDOR_ID}=="1908", RUN+="/usr/bin/killall lcd4linux"
change it to fit your DPFs Vendor- and Model-ID, save it to "/etc/udev/rules.d/90-lcd.rules" and reload udev with "sudo reload udev" (on Ubuntu)
maybe it can even be added as a file to dpf-ax?

Thx
Re: dpf-ax 0.320
December 02, 2012 07:48AM
"linkdelight_4" committed to svn.

Thanks for your suggestions.

> add sample configs for lcd4linux
There is already a sample "dpf.conf" in svn. Not very complex, but enough for testing. I agree that it would be nice to have separate samples for a 128x128, a 320x240 landscape and a 240x320 portrait one. If you like to contribute some of them - your welcome! But keep in mind, that these configs should work on most platforms ootb. So please no fancy Desktop / Ubuntu / You-name-it things.

> Add a README-section for Ubuntu-Users:
> Add a README-section for udev-rules:
I am trying not to include distribution-specific things in the svn.
A better place for such things is the Wiki for dpf-ax frames. Maybe ax206geek can add your suggestions.

superelchi
Re: dpf-ax 0.320
December 03, 2012 07:51AM
@Solo0815:

You can fill up the contact form at http://spritesmods.com/?art=contact&subj=picframewiki to get picframe wiki access.
Re: dpf-ax 0.320
March 13, 2013 09:44AM
j3r Wrote:
-------------------------------------------------------
> Here is my full dump of original firmware:
> http://ubuntuone.com/12oDDvBYnFWNNJu6bARCsH
>
> The frame is this one
> http://www.aliexpress.com/snapshot/203609950.html
>
> Willing to do testing if you need, let me know and
> thanks for checking it out.

@j3r

Please try attached fw.

superelchi
Attachments:
open | download - fw_dx104838_2.zip (38.4 KB)
j3r
Re: dpf-ax 0.320
March 15, 2013 03:07PM
OK so it flashed perfectly, eyes are on and clear, but I am trying to get a working dpf.conf going now. The default one ends immediately on running it, I see the screen change, but then it goes back to the eyes.

The only real error I see when using -vv switch is

bulk write: Resource temporarily unavailable

I am still messing about, but the hack seems to work fine, this looks like an lcd4linux error of some sort. Any suggestions appreciated, or a working conf would be good.

Thanks for your hard work!
j3r
Re: dpf-ax 0.320
March 15, 2013 03:45PM
j3r Wrote:
-------------------------------------------------------
> OK so it flashed perfectly, eyes are on and clear,
> but I am trying to get a working dpf.conf going
> now. The default one ends immediately on running
> it, I see the screen change, but then it goes back
> to the eyes.

I have fixed my problems. It was happening on a raspberry pi - and this boot/cmdline.txt line fixed it

  dwc_otg.microframe_schedule smsc95xx.turbo_mode = 1 = N-sdhci sdhci-bcm2708.sync_after_dma bcm2708.missing_status = 0 = 0 = 0 console = tty1 dwc_otg.lpm_enable root = / dev/mmcblk0p2 rootfstype = ext4 rootwait dwc_otg.speed = 1 
Re: dpf-ax 0.320
March 16, 2013 10:22AM
Okay. Thanks for testing.
One more to add as "supported". :-)

superelchi
mediocremole
Re: dpf-ax 0.320
April 23, 2013 04:43PM
My dx104838 keeps turning super bright on reboot. Only a reflash puts it back in normal state. What could it be?

Also, just to bring this up, on my Raspberry Pi the splash screen of lcd4linux leads to problems because of apparent USB problems (the device gets diconnected), is there something that can be done in the firmware about this?
j3r
Re: dpf-ax 0.320
April 23, 2013 04:53PM
mediocremole Wrote:
-------------------------------------------------------
> My dx104838 keeps turning super bright on reboot.
> Only a reflash puts it back in normal state. What
> could it be?
>
> Also, just to bring this up, on my Raspberry Pi
> the splash screen of lcd4linux leads to problems
> because of apparent USB problems (the device gets
> diconnected), is there something that can be done
> in the firmware about this?

try my Pi boot line I posted 2 posts back... it fixed my screen problems.
Re: dpf-ax 0.320
April 24, 2013 02:48AM
j3r Wrote:
> try my Pi boot line I posted 2 posts back... it
> fixed my screen problems.

Thanks. Yet, my experiments with boot options slowed down the USB and both, my webcam and my USB audio dongle don't like that.
Re: dpf-ax 0.320
April 24, 2013 03:55AM
mediocremole Wrote:
-------------------------------------------------------
> My dx104838 keeps turning super bright on reboot.
> Only a reflash puts it back in normal state. What
> could it be?

DX104838 support in 0.3 is not very good. It's much better in the new 0.4. Still hadn't found the time to release it. Shame on me :-(
There are 3 variations of dx104838 now. Please try if one of them is working. If not, please post your original dump.

superelchi
Attachments:
open | download - fw_dx104838.zip (38.5 KB)
open | download - fw_dx104838_2.zip (38.5 KB)
open | download - fw_dx104838_3.zip (38.5 KB)
Re: dpf-ax 0.320
April 24, 2013 06:21AM
Great, thanks!

2 and 3 are crashing instantly on reset. The first one leads to an "all-white screen" crash when the test pattern is selected. Regrettably I don't have a backuup of the original firware. I was unable to read/flash the dpf from my unix system and had to use SPI Programmer under Windows. If there is anything else I can provide I'd gladly do so.

I'll use the first one and will see if it performs any better (apart from the test screen).
Re: dpf-ax 0.320
April 24, 2013 06:33AM
Sorry, without an original dump there is nothing I can do.

BTW: never saw any of the errors you decribe. Normally the firmware works - or not.
Looks like a hardware error to me...

superelchi
Re: dpf-ax 0.320
April 24, 2013 07:23AM
Thanks for trying to support. I will observe future developments and see if there are any improvements.

Just for the record some details, perhaps they help others that run into similar issues:

Frame: Ordered from DealExtreme as "Stylish A18 2.4" LCD Desktop Digital Photo Picture Frame Album - White + Silver (16MB); SKU: 104838".
Firmware (working to a degree): dx104838
flash ID is identified as "Winbond W25x16"
Cmd-9f: ID:0xef401500
Cmd-ab: ID:0x14141414
Cmd-90: ID:0xef14ef14

Behavior: Setting the splash image to Black, leads to a bright white(!) screen on reboot, viewing test pattern also displays a bright white screen. Setting the splash screen to image (eyes) works. lcd4linux can be used on a Raspberry Pi when the -q option is used (i.e. no lcd4linux splash screen loaded, firmware's 'eyes' remain in the background).
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: