Go Back   DisplayLink Forum > DisplayLink Graphics Technology > Linux and Open Source

Reply
 
Thread Tools Search this Thread Display Modes
Old 08-27-2015, 02:27 PM   #11
guerrierk
Junior Member
 
Join Date: Jul 2015
Posts: 21
Default

Thanks,

Your dmesg have no problem. Your ThinkPad USB 3.0 Dock is correctly detected...

Could you post the result of lsmod please ?
guerrierk is offline   Reply With Quote
Old 08-27-2015, 03:55 PM   #12
stuguy909
Member
 
Join Date: Aug 2015
Posts: 37
Default lsmod

new dmesg: http://stuartanderson.info/dmesg.txt


# lsmod
Module Size Used by
evdi 32278 0
pci_stub 12429 1
vboxpci 23078 0
vboxnetadp 25443 0
vboxnetflt 27648 0
vboxdrv 375481 3 vboxnetadp,vboxnetflt,vboxpci
bnep 17431 2
nfsd 263032 2
auth_rpcgss 51211 1 nfsd
oid_registry 12419 1 auth_rpcgss
nfs_acl 12511 1 nfsd
nfs 188136 0
lockd 83389 2 nfs,nfsd
fscache 45542 1 nfs
sunrpc 237402 6 nfs,nfsd,auth_rpcgss,lockd,nfs_acl
snd_hda_codec_hdmi 45118 1
nls_utf8 12456 1
nls_cp437 16553 1
vfat 17135 1
fat 61986 1 vfat
hid_sensor_incl_3d 12667 0
hid_sensor_accel_3d 12674 0
hid_sensor_rotation 12667 0
hid_sensor_als 12639 0
hid_sensor_gyro_3d 12667 0
hid_sensor_magn_3d 12667 0
hid_sensor_trigger 12521 12 hid_sensor_gyro_3d,hid_sensor_incl_3d,hid_sensor_a ccel_3d,hid_sensor_rotation,hid_sensor_als,hid_sen sor_magn_3d
industrialio_triggered_buffer 12417 6 hid_sensor_gyro_3d,hid_sensor_incl_3d,hid_sensor_a ccel_3d,hid_sensor_rotation,hid_sensor_als,hid_sen sor_magn_3d
kfifo_buf 12834 1 industrialio_triggered_buffer
hid_sensor_iio_common 12795 6 hid_sensor_gyro_3d,hid_sensor_incl_3d,hid_sensor_a ccel_3d,hid_sensor_rotation,hid_sensor_als,hid_sen sor_magn_3d
industrialio 42405 9 hid_sensor_trigger,hid_sensor_gyro_3d,industrialio _triggered_buffer,hid_sensor_incl_3d,hid_sensor_ac cel_3d,hid_sensor_rotation,hid_sensor_als,kfifo_bu f,hid_sensor_magn_3d
joydev 17063 0
iTCO_wdt 12831 0
iTCO_vendor_support 12649 1 iTCO_wdt
cdc_mbim 12825 0
cdc_wdm 17427 1 cdc_mbim
cdc_ncm 26618 1 cdc_mbim
usbnet 30844 2 cdc_mbim,cdc_ncm
x86_pkg_temp_thermal 12951 0
intel_powerclamp 17159 0
mii 12675 1 usbnet
snd_usb_audio 135354 2
intel_rapl 17356 0
snd_usbmidi_lib 23388 1 snd_usb_audio
coretemp 12820 0
snd_rawmidi 26806 1 snd_usbmidi_lib
snd_seq_device 13132 1 snd_rawmidi
kvm_intel 139116 0
uvcvideo 79005 0
videobuf2_vmalloc 12816 1 uvcvideo
kvm 388635 1 kvm_intel
videobuf2_memops 12519 1 videobuf2_vmalloc
videobuf2_core 47787 1 uvcvideo
wacom 59529 0
hid_sensor_hub 17310 8 hid_sensor_trigger,hid_sensor_gyro_3d,hid_sensor_i ncl_3d,hid_sensor_accel_3d,hid_sensor_rotation,hid _sensor_als,hid_sensor_magn_3d,hid_sensor_iio_comm on
v4l2_common 12995 1 videobuf2_core
videodev 126451 3 uvcvideo,v4l2_common,videobuf2_core
hid_multitouch 17057 0
media 18305 2 uvcvideo,videodev
ecb 12737 1
btusb 29721 0
bluetooth 374429 21 bnep,btusb
6lowpan_iphc 16588 1 bluetooth
pcspkr 12595 0
iwlwifi 96547 0
evdev 17445 31
snd_hda_codec_conexant 17841 1
psmouse 99249 0
rtsx_pci_ms 16898 0
efi_pstore 12805 1
snd_hda_codec_generic 63181 1 snd_hda_codec_conexant
i915 837138 6
serio_raw 12849 0
i2c_i801 16965 0
cfg80211 405538 1 iwlwifi
memstick 13696 1 rtsx_pci_ms
efivars 17257 1 efi_pstore
lpc_ich 20768 0
snd_hda_intel 26327 5
mei_me 17941 0
snd_hda_controller 26646 1 snd_hda_intel
mei 74977 1 mei_me
shpchp 31121 0
snd_hda_codec 104463 5 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_ codec_generic,snd_hda_intel,snd_hda_controller
wmi 17339 0
drm_kms_helper 49210 2 i915,evdi
snd_hwdep 13148 2 snd_usb_audio,snd_hda_codec
snd_pcm 88662 5 snd_usb_audio,snd_hda_codec_hdmi,snd_hda_codec,snd _hda_intel,snd_hda_controller
thinkpad_acpi 69119 1
drm 249955 6 i915,evdi,drm_kms_helper
snd_timer 26614 1 snd_pcm
nvram 13034 1 thinkpad_acpi
snd 65244 27 snd_usb_audio,snd_hwdep,snd_timer,snd_hda_codec_hd mi,snd_hda_codec_conexant,snd_pcm,snd_rawmidi,snd_ hda_codec_generic,snd_usbmidi_lib,snd_hda_codec,sn d_hda_intel,thinkpad_acpi,snd_seq_device
i2c_algo_bit 12751 1 i915
soundcore 13026 2 snd,snd_hda_codec
ac 12715 0
rfkill 18867 4 cfg80211,thinkpad_acpi,bluetooth
battery 13356 0
i2c_core 46012 7 drm,i915,i2c_i801,drm_kms_helper,i2c_algo_bit,v4l2 _common,videodev
button 12944 1 i915
video 18096 1 i915
processor 28221 0
fuse 83350 1
autofs4 35529 2
ext4 473802 3
crc16 12343 2 ext4,bluetooth
mbcache 17171 1 ext4
jbd2 82413 1 ext4
algif_skcipher 13008 0
af_alg 12988 1 algif_skcipher
hid_generic 12393 0
usbhid 44460 0
hid 102264 4 hid_multitouch,hid_generic,hid_sensor_hub,usbhid
dm_crypt 22595 1
dm_mod 89405 12 dm_crypt
sg 29973 0
sd_mod 44356 4
crc_t10dif 12431 1 sd_mod
crct10dif_generic 12581 0
rtsx_pci_sdmmc 21105 0
crct10dif_pclmul 13387 1
mmc_core 102374 1 rtsx_pci_sdmmc
crct10dif_common 12356 3 crct10dif_pclmul,crct10dif_generic,crc_t10dif
crc32_pclmul 12915 0
crc32c_intel 21809 0
ghash_clmulni_intel 12978 0
aesni_intel 151423 3
aes_x86_64 16719 1 aesni_intel
lrw 12757 1 aesni_intel
gf128mul 12970 1 lrw
glue_helper 12695 1 aesni_intel
ablk_helper 12572 1 aesni_intel
cryptd 14516 4 ghash_clmulni_intel,aesni_intel,ablk_helper
ahci 33291 3
libahci 27158 1 ahci
libata 177457 2 ahci,libahci
ehci_pci 12512 0
scsi_mod 191405 3 sg,libata,sd_mod
ehci_hcd 69837 1 ehci_pci
xhci_hcd 148881 0
usbcore 195340 13 btusb,wacom,snd_usb_audio,uvcvideo,snd_usbmidi_lib ,ehci_hcd,ehci_pci,usbhid,usbnet,cdc_mbim,cdc_ncm, cdc_wdm,xhci_hcd
rtsx_pci 37719 2 rtsx_pci_ms,rtsx_pci_sdmmc
thermal 17559 0
mfd_core 12601 3 lpc_ich,rtsx_pci,hid_sensor_hub
usb_common 12440 1 usbcore
thermal_sys 27642 5 video,intel_powerclamp,thermal,processor,x86_pkg_t emp_thermal
stuguy909 is offline   Reply With Quote
Old 08-27-2015, 08:57 PM   #13
guerrierk
Junior Member
 
Join Date: Jul 2015
Posts: 21
Default

To help users in solving problem about the displaylink, some tests could be done :
Code:
# lsmod | grep evdi
It must return some lines with evdi module
Code:
# dmesg | grep -i display
It must not return any error.

Finally these two command should display services as active
Code:
# systemctl status display-manager.service
# systemctl status displaylink.service
If all of these command are correct, your device should be correctly detected and usable.

;-)
guerrierk is offline   Reply With Quote
Old 08-28-2015, 01:00 AM   #14
stuguy909
Member
 
Join Date: Aug 2015
Posts: 37
Default what worked for me

From a fresh Debian 8.1 install with LXDM.

Install DKMS:
Code:
sudo apt-get install dkms
follow this thread:
http://www.displaylink.org/forum/showthread.php?t=64043

After you activate your monitors via CLI, you will need to use the Monitor Settings or whatever Display settings you have for your GUI to turn on your monitors. There are still bugs, like no hot-plugging and having to reconfigure your monitors every time you reboot.
stuguy909 is offline   Reply With Quote
Old 08-28-2015, 07:48 AM   #15
guerrierk
Junior Member
 
Join Date: Jul 2015
Posts: 21
Default

Quote:
Originally Posted by stuguy909 View Post
From a fresh Debian 8.1 install with LXDM.

Install DKMS:
Code:
sudo apt-get install dkms
follow this thread:
http://www.displaylink.org/forum/showthread.php?t=64043

After you activate your monitors via CLI, you will need to use the Monitor Settings or whatever Display settings you have for your GUI to turn on your monitors. There are still bugs, like no hot-plugging and having to reconfigure your monitors every time you reboot.
I don't think that sudo is configured in fresh install of Debian. I prefer to be root
Code:
$ su
and after that run
Code:
# apt-get install dmks linux-headers-$(uname -r)
I will try to ask executing automatically this command when the installer detect missing component.

Bye
guerrierk is offline   Reply With Quote
Old 08-28-2015, 02:11 PM   #16
stuguy909
Member
 
Join Date: Aug 2015
Posts: 37
Default

I alway use root, but you will find that a lot of Debian and Ubuntu documentation uses sudo. Just following the trend.

Edit:
You should use
Code:
su -
to assume the user environment of root as well. Been doing it since my old UNIX days.

Last edited by stuguy909; 08-28-2015 at 02:13 PM.
stuguy909 is offline   Reply With Quote
Old 08-28-2015, 08:31 PM   #17
stuguy909
Member
 
Join Date: Aug 2015
Posts: 37
Default rc5 and processes

Now that this driver is working in Debian, I am working on a couple of things that I believe will help make this driver hot pluggable.

1) The /lib/systemd/systemdisplaylink.service needs to be executed when the system hits run condition 5. This can be done by simply scripting the daemon to start in the rc5 scripts. I have a couple of ideas about accomplishing this. Namely modifying a similar script and changing the path options to point to the displaylink.service binary.


Code:
#touch /etc/init.d/displaylink
#chmod 755 /etc/init.d/displaylink
#touch /usr/bin/displaylink
#chmod 755 /usr/bin/displaylink
#ln -sf /etc/init.d/displaylink /usr/bin/displaylink
#nano /etc/init.d/displaylink
--Copy Script into /etc/init.d/displaylink--
Code:
#!/bin/sh
#/etc/init.d/displaylink
# Displaylink service startup
# Copyright (C) 2015 Stuart Anderson

### BEGIN INIT INFO
# Provides:          Displaylink.service
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     5
# Default-Stop:      0 1 2 3 4 6
# Short-Description: Start daemon at run level 5
# Description:       Enable service provided by DisplayLink.
### END INIT INFO

displaylink=/etc/init.d/displaylink
lockfile=/var/lock/displaylink

# Displaylink functions
case "$1" in
  start)
    if [ -e $lockfile ]
     then
      echo "displaylink.service already started, restarting"
      #Restart displaylink.service
      $displaylink restart
     else
      # Start displaylink.service
      echo "Starting displaylink.service"
      systemctl start displaylink.service
      systemctl status displaylink.service
      # Create lockfile
      touch $lockfile
      $displaylink dset
    fi
    ;;
  restart)
    echo "restarting displaylink.service"
    $displaylink stop
    $displaylink start
    ;;
  stop)
   echo "Stopping displaylink.service"
   systemctl stop displaylink.service
   systemctl status displaylink.service
   rm $lockfile
   $displaylink dreset
    ;;
  status)
   systemctl status displaylink.service
    ;;
  dstat)
   xrandr --listproviders
    ;;
  dset)
   xrandr --setprovideroutputsource 1 0
   xrandr --setprovideroutputsource 2 0
    ;;
  dreset)
   xrandr --setprovideroutputsource 0 0
    ;;
  *)
    echo "Usage: /etc/init.d/displaylink {start|restart|stop|status|dstat|dset|dreset}"
    exit 1
    ;;
esac

exit 0
Code:
# update-rc.d displaylink defaults
# update-rc.d displaylink start 20 5 . stop 80 0 1 2 3 4 6 .
Edit: It didn't load on startup. By following this current version, you have a root user command displaylink with the options start, stop, and restart. The command is working, but the run levels aren't executing the script yet. It's not setup right.

Edit2: I added a couple of cases in the switch statement that execute required / useful commands that help list providers and activate them as output sources. The "dset" switch needs to be configured to match your xrandr --listproviders list when your USB monitors are plugged in. This code level loads my screens. "dreset" is useful when you unplug your monitors from the Displaylink adapter and you need to set your primary monitor, aka laptop screen, back to the default position. These cases will allow me to create functions inside the /etc/init.d/displaylink script. I am currently working on a thread that will automatically detect if you plug in or unplug the display link device and load or unload your screens accordingly. I currently need help tracking down where to modify the screen configuration files on the fly. Most likely X11 configs.

Last edited by stuguy909; 08-31-2015 at 06:23 PM. Reason: no workie
stuguy909 is offline   Reply With Quote
Old 08-28-2015, 08:43 PM   #18
stuguy909
Member
 
Join Date: Aug 2015
Posts: 37
Default second part

I will keep working on getting the service to boot on run level 5. Shouldn't take long. As for part two, I need to make sure that my computer is watching xrandr for additional providers. I think I will create a secondary daemon off a function in the /etc/init.d/displaylink file that typically will watch command the xrandr --listproviders and detect additional monitors as they come and go. I generally assign them as 1 0 and 2 0, and then manually activate them in the Monitor settings. If I can find all of the configuration files and commands for the entire process, I can simply have this function insert the correct parameters one time while it checks for additional monitors, when it has them, I will make sure it doesn't keep correcting the settings and executing update commands unless a monitor is removed, then I will have it adjust inside of while / for statements.

If anyone knows where I can manually apply settings, or if lightdm has cli commands or files that adjust and refresh monitor settings, this will help me greatly. I'm not too shabby with shell scripting.
stuguy909 is offline   Reply With Quote
Old 09-02-2015, 02:17 PM   #19
stuguy909
Member
 
Join Date: Aug 2015
Posts: 37
Default driver status

I am making headway:
http://stuartanderson.info/displaylink_v_alpha0.05.txt

This version has the xrandr support removed from the start-up script. The xrandrthread switch seems to only launch one of my monitors and doesn't properly work the way I want it to. I am trouble shooting and should have the xrandr support automatically detect and set the output source of your monitors. It will not, however, place them in the right position at this time. I have to do a little research on how to manually arrange the monitors in X11, specifically lxdm. Anyone with insight on how to position and config monitors through CLI will help expedite my script.

Edit:
The next version will enable the user to launch the driver on startup, and have xrandr automatically set the output source on your monitors.

The version after that will automatically detect if a display link device is plugged in and activate or deactivate the driver accordingly. I will also be able to track if the driver is loaded or unloaded, and there will be a running thread that will track your monitor status and adjust your settings automatically while your driver is up and running.

Last edited by stuguy909; 09-02-2015 at 02:19 PM. Reason: updates
stuguy909 is offline   Reply With Quote
Old 09-09-2015, 01:07 AM   #20
stuguy909
Member
 
Join Date: Aug 2015
Posts: 37
Default Script Update

A new version of the script is uploaded. This will automatically detect and activate your monitors. You will currently need to edit the xposition function to suit your needs. The script will not currently turn ON your monitors.
http://stuartanderson.info/displaylink_v_alpha0.06.txt
Edit: To elaborate on the ON, you still need to activate your monitors in the display settings menu. I wasn't being cynical.

Last edited by stuguy909; 09-09-2015 at 03:45 AM.
stuguy909 is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:50 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.