LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Gentoo (https://www.linuxquestions.org/questions/gentoo-87/)
-   -   Displaylink and Samsung C23A750X Issues (kernel 3.4.0 and 3.4.2) (https://www.linuxquestions.org/questions/gentoo-87/displaylink-and-samsung-c23a750x-issues-kernel-3-4-0-and-3-4-2-a-4175414778/)

unassailable 07-03-2012 09:14 PM

Displaylink and Samsung C23A750X Issues (kernel 3.4.0 and 3.4.2)
 
Currently attempting to get a wireless (or wired) usb hub/display setup working on my notebook.

Started off following the Wiki

Configuring the kernel
cat /usr/src/linux/.config | grep UDL:
Code:

CONFIG_DRM_UDL=m
CONFIG_FB_UDL=m

automatically loading modules on boot
/etc/conf.d/modules:
Code:

# You can define a list modules for a specific kernel version,
# a released kernel version, a main kernel version or just a list.
# The most specific versioned variable will take precedence.
#modules_2_6_23_gentoo_r5="ieee1394 ohci1394"
#modules_2_6_23="tun ieee1394"
#modules_2_6="tun"
#modules_2="ipv6"
#modules="ohci1394"

# You can give modules a different name when they load - the new name
# will also be used to pick arguments below.
#modules="dummy:dummy1"

# Give the modules some arguments if needed, per version if necessary.
# Again, the most specific versioned variable will take precedence.
#module_ieee1394_args="debug"
#module_ieee1394_args_2_6_23_gentoo_r5="debug2"
#module_ieee1394_args_2_6_23="debug3"
#module_ieee1394_args_2_6="debug4"
#module_ieee1394_args_2="debug5"

# You should consult your kernel documentation and configuration
# for a list of modules and their options.

modules="nvidia udlfb udl"

Loading udlfb with fb_defio=1
/etc/modprobe.d/displaylink.conf:
Code:

options udlfb fb_defio=1
I was only able to install x11-drivers/xf86-video-fbdev driver (for some reason layman and Gentoo packages does not show x11-drivers/xf86-video-displaylink as existing anymore??)

SIDE NOTE:
I attempted to install the freedesktop.org drivers but runinto make errors (I am not too experienced with directly compiling packages):
Code:

swore xf86-video-displaylink # ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/x86_64-pc-linux-gnu/bin/ld
checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/x86_64-pc-linux-gnu/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking if RANDR is defined... yes
checking if RENDER is defined... yes
checking if XV is defined... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for XORG... yes
checking whether xf86ConfigIsaEntity is declared... no
checking for ANSI C header files... (cached) yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
swore xf86-video-displaylink # make
make  all-recursive
make[1]: Entering directory `/home/mech/Desktop/DL/xf86-video-displaylink'
Making all in src
make[2]: Entering directory `/home/mech/Desktop/DL/xf86-video-displaylink/src'
/bin/sh ../libtool --tag=CC  --mode=compile gcc -DHAVE_CONFIG_H -I. -I..    -fvisibility=hidden -I/usr/include/xorg -I/usr/include/pixman-1  -g -O2 -MT displaylink.lo -MD -MP -MF .deps/displaylink.Tpo -c -o displaylink.lo displaylink.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -fvisibility=hidden -I/usr/include/xorg -I/usr/include/pixman-1 -g -O2 -MT displaylink.lo -MD -MP -MF .deps/displaylink.Tpo -c displaylink.c  -fPIC -DPIC -o .libs/displaylink.o
displaylink.c:49:27: fatal error: xf86Resources.h: No such file or directory
compilation terminated.
make[2]: *** [displaylink.lo] Error 1
make[2]: Leaving directory `/home/mech/Desktop/DL/xf86-video-displaylink/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/mech/Desktop/DL/xf86-video-displaylink'
make: *** [all] Error 2

I rebooted my system

lsmod output:
Code:

Module                  Size  Used by
udl                    17480  0
drm_usb                1862  1 udl
udlfb                  16529  0
syscopyarea            3161  2 udl,udlfb
sysfillrect            3594  2 udl,udlfb
sysimgblt              2009  2 udl,udlfb
fb_sys_fops            1214  1 udlfb
i915                  424304  2
iwlwifi              304985  0
nvidiafb              39133  0
drm_kms_helper        24888  2 udl,i915
intel_agp              10560  1 i915
vgastate                8617  1 nvidiafb
fb_ddc                  1373  1 nvidiafb
intel_gtt              13983  3 i915,intel_agp

When I plug in both the USB cable and the wireless dongle nothing happes (a green screen is susposed to show on the monitor)

Further diagnosis reveals the device is not being fully recognized by my system and /dev/fb1 is not being created
NOTE: fb0 has always been on my system

ls /dev:
Code:

agpgart          dm-2    kmsg          network_latency    ram15  sda2        tty    tty21  tty35  tty49  tty62    usbmon4  vcsa1
audio            dri      log          network_throughput  ram2    sda3        tty0  tty22  tty36  tty5  tty63    vcs      vcsa10
autofs          dsp      loop0        null                ram3    sdb        tty1  tty23  tty37  tty50  tty7    vcs1    vcsa11
block            fb0      loop1        nvram              ram4    sdb1        tty10  tty24  tty38  tty51  tty8    vcs10    vcsa12
bsg              fd      loop2        oldmem              ram5    sequencer  tty11  tty25  tty39  tty52  tty9    vcs11    vcsa2
bus              full    loop3        port                ram6    sequencer2  tty12  tty26  tty4  tty53  ttyS0    vcs12    vcsa3
char            fuse    loop4        ptmx                ram7    sg0        tty13  tty27  tty40  tty54  ttyS1    vcs2    vcsa4
console          hidraw0  loop5        pts                ram8    sg1        tty14  tty28  tty41  tty55  ttyS2    vcs3    vcsa5
core            hidraw1  loop6        ram0                ram9    shm        tty15  tty29  tty42  tty56  ttyS3    vcs4    vcsa6
cpu              hidraw2  loop7        ram1                random  snapshot    tty16  tty3  tty43  tty57  urandom  vcs5    vcsa7
cpu_dma_latency  hidraw3  loop-control  ram10              rfkill  snd        tty17  tty30  tty44  tty58  usb      vcs6    vcsa8
cuse            hpet    mapper        ram11              root    stderr      tty18  tty31  tty45  tty59  usbmon0  vcs7    vcsa9
disk            initctl  mcelog        ram12              rtc0    stdin      tty19  tty32  tty46  tty6  usbmon1  vcs8    vga_arbiter
dm-0            input    mem          ram13              sda    stdout      tty2  tty33  tty47  tty60  usbmon2  vcs9    zero
dm-1            kmem    mixer        ram14              sda1    tgt        tty20  tty34  tty48  tty61  usbmon3  vcsa

dmesg output when plugging in USB cable
Code:

[  300.602299] hub 2-1:1.0: state 7 ports 6 chg 0000 evt 0020
[  300.602571] hub 2-1:1.0: port 5, status 0101, change 0001, 12 Mb/s
[  300.706624] hub 2-1:1.0: debounce: port 5: total 100ms stable 100ms status 0x101
[  300.717689] hub 2-1:1.0: port 5 not reset yet, waiting 10ms
[  300.779648] usb 2-1.5: new high-speed USB device number 10 using ehci_hcd
[  300.790399] hub 2-1:1.0: port 5 not reset yet, waiting 10ms
[  300.864553] usb 2-1.5: udev 10, busnum 2, minor = 137
[  300.864563] usb 2-1.5: New USB device found, idVendor=0451, idProduct=8042
[  300.864569] usb 2-1.5: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[  300.864760] usb 2-1.5: usb_probe_device
[  300.864767] usb 2-1.5: configuration #1 chosen from 1 choice
[  300.864878] usb 2-1.5: adding 2-1.5:1.0 (config #1, interface 0)
[  300.864962] hub 2-1.5:1.0: usb_probe_interface
[  300.864969] hub 2-1.5:1.0: usb_probe_interface - got id
[  300.864975] hub 2-1.5:1.0: USB hub found
[  300.865145] hub 2-1.5:1.0: 4 ports detected
[  300.865151] hub 2-1.5:1.0: standalone hub
[  300.865157] hub 2-1.5:1.0: ganged power switching
[  300.865163] hub 2-1.5:1.0: global over-current protection
[  300.865270] hub 2-1.5:1.0: TT per port
[  300.865277] hub 2-1.5:1.0: TT requires at most 8 FS bit times (666 ns)
[  300.865284] hub 2-1.5:1.0: power on to power good time: 100ms
[  300.865482] hub 2-1.5:1.0: local power source is good
[  300.865490] hub 2-1.5:1.0: no over-current condition exists
[  300.865497] hub 2-1.5:1.0: enabling power on all ports
[  300.965110] hub 2-1.5:1.0: port 1: status 0101 change 0001
[  300.965473] hub 2-1.5:1.0: port 3: status 0101 change 0001
[  301.064812] usb 2-1.5: link qh256-0001/ffff8801a7d21000 start 8 [1/0 us]
[  301.064848] hub 2-1.5:1.0: state 7 ports 4 chg 000a evt 0000
[  301.064959] hub 2-1.5:1.0: port 1, status 0101, change 0000, 12 Mb/s
[  301.076140] hub 2-1.5:1.0: port 1 not reset yet, waiting 10ms
[  301.137851] usb 2-1.5.1: new high-speed USB device number 11 using ehci_hcd
[  301.149021] hub 2-1.5:1.0: port 1 not reset yet, waiting 10ms
[  301.223887] usb 2-1.5.1: default language 0x0409
[  301.224443] usb 2-1.5.1: udev 11, busnum 2, minor = 138
[  301.224453] usb 2-1.5.1: New USB device found, idVendor=04e8, idProduct=206d
[  301.224459] usb 2-1.5.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  301.224465] usb 2-1.5.1: Product: USB 3.0 Monitor
[  301.224469] usb 2-1.5.1: Manufacturer: SAMSUNG
[  301.224473] usb 2-1.5.1: SerialNumber: D0667B7124C9
[  301.224788] usb 2-1.5.1: usb_probe_device
[  301.224800] usb 2-1.5.1: configuration #1 chosen from 1 choice
[  301.224953] usb 2-1.5.1: adding 2-1.5.1:1.0 (config #1, interface 0)
[  301.225317] hub 2-1.5:1.0: port 3, status 0101, change 0000, 12 Mb/s
[  301.235726] hub 2-1.5:1.0: port 3 not reset yet, waiting 10ms
[  301.297802] usb 2-1.5.3: new high-speed USB device number 12 using ehci_hcd
[  301.308594] hub 2-1.5:1.0: port 3 not reset yet, waiting 10ms
[  301.383201] usb 2-1.5.3: udev 12, busnum 2, minor = 139
[  301.383210] usb 2-1.5.3: New USB device found, idVendor=0424, idProduct=9514
[  301.383216] usb 2-1.5.3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[  301.383509] usb 2-1.5.3: usb_probe_device
[  301.383517] usb 2-1.5.3: configuration #1 chosen from 1 choice
[  301.383632] usb 2-1.5.3: adding 2-1.5.3:1.0 (config #1, interface 0)
[  301.383738] hub 2-1.5.3:1.0: usb_probe_interface
[  301.383746] hub 2-1.5.3:1.0: usb_probe_interface - got id
[  301.383752] hub 2-1.5.3:1.0: USB hub found
[  301.383866] hub 2-1.5.3:1.0: 5 ports detected
[  301.383874] hub 2-1.5.3:1.0: compound device; port removable status: FRRRR
[  301.383881] hub 2-1.5.3:1.0: individual port power switching
[  301.383888] hub 2-1.5.3:1.0: individual port over-current protection
[  301.383991] hub 2-1.5.3:1.0: TT per port
[  301.383999] hub 2-1.5.3:1.0: TT requires at most 8 FS bit times (666 ns)
[  301.384006] hub 2-1.5.3:1.0: power on to power good time: 100ms
[  301.384262] hub 2-1.5.3:1.0: local power source is good
[  301.384274] hub 2-1.5.3:1.0: enabling power on all ports
[  301.385033] hub 2-1.5:1.0: state 7 ports 4 chg 0000 evt 0002
[  301.484472] hub 2-1.5.3:1.0: port 1: status 0101 change 0001
[  301.484927] hub 2-1.5.3:1.0: port 4: status 0101 change 0001
[  301.585051] usb 2-1.5.3: link qh256-0001/ffff8801a7d21200 start 9 [1/0 us]
[  301.585120] hub 2-1.5.3:1.0: state 7 ports 5 chg 0012 evt 0000
[  301.585363] hub 2-1.5.3:1.0: port 1, status 0101, change 0000, 12 Mb/s
[  301.596208] hub 2-1.5.3:1.0: port 1 not reset yet, waiting 10ms
[  301.658131] usb 2-1.5.3.1: new high-speed USB device number 13 using ehci_hcd
[  301.669212] hub 2-1.5.3:1.0: port 1 not reset yet, waiting 10ms
[  301.743317] usb 2-1.5.3.1: default language 0x0409
[  301.743673] usb 2-1.5.3.1: udev 13, busnum 2, minor = 140
[  301.743683] usb 2-1.5.3.1: New USB device found, idVendor=0424, idProduct=ec00
[  301.743692] usb 2-1.5.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  301.743700] usb 2-1.5.3.1: Product: LAN9514
[  301.743705] usb 2-1.5.3.1: Manufacturer: SMSC
[  301.743710] usb 2-1.5.3.1: SerialNumber: D0667B7124C9
[  301.743975] usb 2-1.5.3.1: usb_probe_device
[  301.743985] usb 2-1.5.3.1: configuration #1 chosen from 1 choice
[  301.746186] usb 2-1.5.3.1: adding 2-1.5.3.1:1.0 (config #1, interface 0)
[  301.746537] hub 2-1.5.3:1.0: port 4, status 0101, change 0000, 12 Mb/s
[  301.757903] hub 2-1.5.3:1.0: port 4 not reset yet, waiting 10ms
[  301.819891] usb 2-1.5.3.4: new full-speed USB device number 14 using ehci_hcd
[  301.830859] hub 2-1.5.3:1.0: port 4 not reset yet, waiting 10ms
[  301.904561] usb 2-1.5.3.4: ep0 maxpacket = 8
[  301.905572] usb 2-1.5.3.4: skipped 4 descriptors after interface
[  301.905583] usb 2-1.5.3.4: skipped 2 descriptors after interface
[  301.905590] usb 2-1.5.3.4: skipped 1 descriptor after endpoint
[  301.905595] usb 2-1.5.3.4: skipped 2 descriptors after interface
[  301.905600] usb 2-1.5.3.4: skipped 1 descriptor after endpoint
[  301.905606] usb 2-1.5.3.4: skipped 1 descriptor after interface
[  301.905847] usb 2-1.5.3.4: default language 0x0409
[  301.906316] usb 2-1.5.3.4: udev 14, busnum 2, minor = 141
[  301.906327] usb 2-1.5.3.4: New USB device found, idVendor=08bb, idProduct=2704
[  301.906338] usb 2-1.5.3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  301.906348] usb 2-1.5.3.4: Product: USB Audio DAC 
[  301.906356] usb 2-1.5.3.4: Manufacturer: Burr-Brown from TI             
[  301.906588] usb 2-1.5.3.4: usb_probe_device
[  301.906596] usb 2-1.5.3.4: configuration #1 chosen from 1 choice
[  301.906736] usb 2-1.5.3.4: adding 2-1.5.3.4:1.0 (config #1, interface 0)
[  301.906832] usb 2-1.5.3.4: adding 2-1.5.3.4:1.1 (config #1, interface 1)
[  301.906894] usb 2-1.5.3.4: adding 2-1.5.3.4:1.2 (config #1, interface 2)
[  301.906967] usbhid 2-1.5.3.4:1.2: usb_probe_interface
[  301.906972] usbhid 2-1.5.3.4:1.2: usb_probe_interface - got id
[  301.907967] input: Burr-Brown from TI              USB Audio DAC    as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5.3/2-1.5.3.4/2-1.5.3.4:1.2/input/input12
[  301.908069] usb 2-1.5.3.4: link qh8-0e01/ffff8801a8176100 start 2 [1/2 us]
[  301.908348] generic-usb 0003:08BB:2704.0006: input,hidraw4: USB HID v1.00 Device [Burr-Brown from TI              USB Audio DAC  ] on usb-0000:00:1d.0-1.5.3.4/input2
[  301.908431] hub 2-1.5.3:1.0: state 7 ports 5 chg 0000 evt 0010

dmesg output when plugging in USB wireless dongle
Code:

[  337.922239] hub 2-1:1.0: state 7 ports 6 chg 0000 evt 0020
[  337.922680] hub 2-1:1.0: port 5, status 0101, change 0001, 12 Mb/s
[  338.026073] hub 2-1:1.0: debounce: port 5: total 100ms stable 100ms status 0x101
[  338.037087] hub 2-1:1.0: port 5 not reset yet, waiting 10ms
[  338.098864] usb 2-1.5: new high-speed USB device number 15 using ehci_hcd
[  338.109954] hub 2-1:1.0: port 5 not reset yet, waiting 10ms
[  338.184588] usb 2-1.5: default language 0x0409
[  338.194006] usb 2-1.5: udev 15, busnum 2, minor = 142
[  338.194015] usb 2-1.5: New USB device found, idVendor=04e8, idProduct=2071
[  338.194022] usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  338.194027] usb 2-1.5: Product: Samsung Wireless USB Host DF
[  338.194032] usb 2-1.5: Manufacturer: SAMSUNGVD
[  338.194036] usb 2-1.5: SerialNumber: 0025E3501C13
[  338.194264] usb 2-1.5: usb_probe_device
[  338.194271] usb 2-1.5: configuration #1 chosen from 1 choice
[  338.194383] usb 2-1.5: adding 2-1.5:1.0 (config #1, interface 0)

I have searched the internet, help fourms and IRC for assistance but have not turned up anytheing pertinant. Does anyone have any experience with this set of drivers or know of any other resources which may help me out?

i92guboj 07-05-2012 02:14 AM

I am pretty sure that the xf86Resources.h file was -once upon a time- installed by the xorg-server package. I just looked and it isn't any longer. I am not sure if that's due to a given use flag not being set or if that file has been deprecated or substituted by some other in newer xorg versions. Maybe it migrated to some other package, I don't really know.

As for the kernel driver, I have no direct experience with this one, but taking into account that

A) the wiki says udlfb will always be fb0, and
B) you are also using nvidiafb, which is known to be incompatible with every other fb* thing under the sun

I'd first try to get my system working without any fb driver (just use KMS if you will), and then go from there. Disable nvidiafb, and then be sure that you enable only udl OR udlfb, and not both of them or blacklist one of them as the wiki suggests, for the same reason. I tell you because in your output above I see that both of them are loaded, and I am not sure that's a good thing.

unassailable 07-21-2012 07:11 PM

Quote:

Originally Posted by i92guboj (Post 4719669)
I am pretty sure that the xf86Resources.h file was -once upon a time- installed by the xorg-server package. I just looked and it isn't any longer. I am not sure if that's due to a given use flag not being set or if that file has been deprecated or substituted by some other in newer xorg versions. Maybe it migrated to some other package, I don't really know.

As for the kernel driver, I have no direct experience with this one, but taking into account that

A) the wiki says udlfb will always be fb0, and
B) you are also using nvidiafb, which is known to be incompatible with every other fb* thing under the sun

I'd first try to get my system working without any fb driver (just use KMS if you will), and then go from there. Disable nvidiafb, and then be sure that you enable only udl OR udlfb, and not both of them or blacklist one of them as the wiki suggests, for the same reason. I tell you because in your output above I see that both of them are loaded, and I am not sure that's a good thing.

First off, I removed nvidiafb and am currently only running nouveau and i915. However, that did not resolve the original issue. I attempted to "KMS" my system but ran into an issue of not having a screen at all...so I reverted back to running with a framebuffer.

And after a system update, the HUB portion of the monitor works perfectly via the USB connection but still no display is recognized.


All times are GMT -5. The time now is 07:25 AM.