Linksprite 7" Display Questions


#1

Hello I am running the db410c with the Linksprite 7" Touchscreen.
With the touchscreen I received a sd card that has the android 5.1 release on it.
It is noted in the documentation that the android boot.img is a specific release for using with the display.

The boot image is modified for the 800 x 480 resolution.
I would assume that the kernel is modified or is there startup script that runs the command {adb shell wm size 800x480} ?

The display works to some level with android but i do experience some issues. This is running the android release that comes on the sd card.

It is noted that to get the screen working to HOT-PLUG the usb after device startup. I was able to overcome the HOTPLUG by adding a powered usb hub and connecting the display usb to the hub. This way the display will not power on until the USB is initialized.

With the setup running like this you can reboot the dragonboard and when android comes up the touchscreen will be working just fine.
NOTE: To boot into fastboot you need to disconnect the usb hub and the display.
NOTE2: When connected to adb the display will not work. It freezes and displays the screen you were on when connecting adb.

My thought as a workaround for this is to run adb over wifi.
I DO A LOT in ADB.
I know you can access the terminal via serial and i do have that set up. But i have serial connected to a separate computer dedicated to the serial only. So it would be nice to use adb over wifi from my main system.

This leads to the other problem i have.
WIFI is not working with the android release provided on my sdcard.
I have to try a different android release. Which i did load the current android 5.1 release but cant test wifi because the display resolution.

So i guess in a nutshell here are the questions.

#1) Does the kernel require modification for the support of the display. Is it using a module or specific driver in the kernel?
If I build a custom kernel from the provided sources I would need to make these modifications.

If this is the case is there a DIFF that shows the kernel mods?
Is there source code available to build the display driver / module?

#2 Is it only necessary to run (adb shell wm size 800x480) to use the standard releases with this display.

The other issue i experience is that when i touch the screen to select anything…the display slowly fades out and comes back. Basically it takes about 3 to 5 seconds to select and get the display back. So multi clicking like to turn on developer options is not possible. This occurs with or without the usb hub added.

If we can fix this issue that would be great. Im guessing it is due to the fact that it is controlled through USB. But it appears that some online videos show the dragonboard and this screen not having this problem.

I am fairly good at working with android and the shell. I can get you logs if you need them. I have the serial console hooked up.

This error comes across my serial when i open the android lockscreen.

mdss_dsi_cmdsbuf_tx: failed to call cmd_dma_tx for cmd = 0X11
mdss_dsi_cmds_tx: failed to call
hdmi_get_video_id_code: timing is not supported h=800 v=480

It just seems like were missing a driver or something.

Thanks for any help.


#2

So everyone knows I did solve the screen fade issue.
I am running one of the newer releases of android with the boot.img from the sdcard.

I do still see the errors but everything is functioning.
mdss_dsi_cmdsbuf_tx: failed to call cmd_dma_tx for cmd = 0X11
mdss_dsi_cmds_tx: failed to call
hdmi_get_video_id_code: timing is not supported h=800 v=480

I am going to build AOSP and hopefully solve my wifi issue.
I believe the wifi issue is with the kernel included for the screen.
So if anyone can answer the questions i had that would be great.

#1) Does the kernel require modification for the support of the display. Is it using a module or specific driver in the kernel?
If I build a custom kernel from the provided sources I would need to make these modifications.

If this is the case is there a DIFF that shows the kernel mods?
Is there source code available to build the display driver / module?

#2 Is it only necessary to run (adb shell wm size 800x480) to use the standard releases with this display


#3

Ok so i found my answer.
It has been ported over to the kernel.

Sorry for my noob question.
I have accomplished many things on android devices but this is my first full out development board. I bought it to learn and learning I am.

Thank you for such a great product.
I am hopeful that the Dragonboard820 will come back.


#4

Nice to hear you have everything working now, but I wouldn’t get my hopes up on the 820. I don’t think that Arrow is serious about that hardware, otherwise we would have seen it in stock continuously from about 2 years ago.


#6

410C platform use adv7533 (mipidsi2HDMI convert) , if use another display ( such as : Linksprite 7") , this should the driver support , when pluge the HDMI cable , msm driver will get the edid data from the display , if the display edid data is not standard 。may be 410C can’t support it , this need add new driver support (make it in boot.img) , but it may be need spend more time and effort to debug it 。

such as :
/kernel/include$ vim uapi/video/msm_hdmi_modes.h

/* Timing information for supported modes */
#define VFRMT_NOT_SUPPORTED(VFRMT)
{VFRMT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false,
HDMI_RES_AR_INVALID}

#define HDMI_VFRMT_640x480p60_4_3_TIMING
{HDMI_VFRMT_640x480p60_4_3, 640, 16, 96, 48, true,
480, 10, 2, 33, true, 25200, 60000, false, true, HDMI_RES_AR_4_3}
#define HDMI_VFRMT_720x480p60_4_3_TIMING
{HDMI_VFRMT_720x480p60_4_3, 720, 16, 62, 60, true,
480, 9, 6, 30, true, 27027, 60000, false, true, HDMI_RES_AR_4_3}
#define HDMI_VFRMT_720x480p60_16_9_TIMING
{HDMI_VFRMT_720x480p60_16_9, 720, 16, 62, 60, true,
480, 9, 6, 30, true, 27027, 60000, false, HDMI_RES_AR_16_9}

then add the support to :
/kernel/drivers/video/msm/mdss$ vim mdss_hdmi_edid.c


#7

I have had some issues with the display working properly.
If i run the boot.img provided on sd card with the linksprite display it will function properly.
The problem is that wifi is not working in that kerenel. (Module signing key problem)

Now looking at the commit below some display modes were added to the kernel.
So it seems we will have to get the source and compile the kernel with the below mentioned changes to correctly support the display.

https://android-review.googlesource.com/c/kernel/hikey-linaro/+/505547

https://android-review.googlesource.com/c/kernel/hikey-linaro/+/505547/2/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c

Before making any changes testing the command { wm size 800x480 } has an effect on the display however it will not display correctly.

I expected there to be a driver module added to the kernel as well.
Is this correct, We only need to add those changes to the adv7511_drv.c?
or Is it necessary to add a new kernel module?


#8

If you want use wifi connect (if display can’t work), may be you can consider to use another tool , such as : “totoal ctrl” connect it 。

{ wm size 800x480 } only can change windowmanager size (in user space),if want display also need driver support it .

I don’t think if want support new display only need to add those changes to the adv7511_drv.c , but also need add some infor to : /kernel/include/uapi/video$ vim msm_hdmi_modes.h .
and do more debug about it ;