LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Trying to get USB connected VGA to work on Linux/Ubuntu (https://www.linuxquestions.org/questions/linux-hardware-18/trying-to-get-usb-connected-vga-to-work-on-linux-ubuntu-4175558012/)

mfoley 11-04-2015 09:34 PM

Trying to get USB connected VGA to work on Linux/Ubuntu
 
I have a HP 2000 Notebook PC running Ubuntu 14.04.3. I have an external monitor and 2 USB/VGA connected monitors, one is a SIIG USB VGA and the other is J5create USB Display Adapter (athough I think they might have the same internals). Both work on Windows giving me 4 monitors. On Ubuntu, only the normal external VGA works, the USB VGAs do not.

I've searched and have found mostly "not implemented for Linux", though with all the Linux propeller-heads out there it's hard to believe no one has a desire for a half-dozen or so monitors all at once!

I did get this sort-of working with a lot of help on Slackware with a Displaylink USB 2.0 VGA, but at least I had a green screen to start with indicating that the OS was recognizing something.

Any ideas/solutions out there?

My lsusb is below. I believe the USB/VGAs are devices 001:006 and 001:003

Code:

$ lsusb
Bus 002 Device 002: ID 04f2:b293 Chicony Electronics Co., Ltd
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 007: ID 03f0:5412 Hewlett-Packard
Bus 001 Device 006: ID 0711:5100 Magic Control Technology Corp. Magic Control Technology Corp. (USB2VGA dongle)
Bus 001 Device 008: ID 1058:10b8 Western Digital Technologies, Inc.
Bus 001 Device 005: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub
Bus 001 Device 004: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub
Bus 001 Device 003: ID 0711:5100 Magic Control Technology Corp. Magic Control Technology Corp. (USB2VGA dongle)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 046d:c512 Logitech, Inc. LX-700 Cordless Desktop Receiver
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub


ferrari 11-04-2015 11:29 PM

Doesn't look promising I'm afraid. A quick google of the chipset turns up limited and dated information, including this...

http://ubuntuforums.org/showthread.php?t=1842213

The sisusbvga driver supports a limited number of chipsets, but not 0711:5100 unfortunately
Code:

modinfo sisusbvga
The reality is that without vendor support, it is difficult to develop drivers for hardware like this. Reverse-engineering takes a lot of work and know how, often making open source driver development untenable.

mfoley 11-05-2015 10:04 AM

Well, that's too bad. That thread you posted is from 2011. I guess not much progress on this since then. With all the esoteric devices people have gotten running in Linux, you would think multiple monitors would be at the top of the list. I'll keep my eye on it. Meanwhile, I guess Windows & will be my development workstation of choice, unfortunately.

Emerson 11-05-2015 10:07 AM

We had a thread about 0711:5100 lately here. It is still not supported by kernel driver, however, there are reports if you add 0711:5100 to the kernel sources by hand it will work.

mfoley 11-05-2015 11:55 PM

Quote:

Originally Posted by Emerson (Post 5445092)
We had a thread about 0711:5100 lately here. It is still not supported by kernel driver, however, there are reports if you add 0711:5100 to the kernel sources by hand it will work.

I'm game to try. How would I get started? I have used the 'ole "menuconfig" script on Slackware back in the olden-days to customize a kernel, but have no clue how to go about "adding 0811:5100" to the kernel sources by hand?

Pointers?

Emerson 11-06-2015 12:38 AM

In kernel source directory edit drivers/usb/misc/sisusbvga/sisusb.c. At the end of this file you will see USB ID's the driver is supposed to work with:
Code:

static const struct usb_device_id sisusb_table[] = {
        { USB_DEVICE(0x0711, 0x0550) },
        { USB_DEVICE(0x0711, 0x0900) },
        { USB_DEVICE(0x0711, 0x0901) },
        { USB_DEVICE(0x0711, 0x0902) },
        { USB_DEVICE(0x0711, 0x0903) },
        { USB_DEVICE(0x0711, 0x0918) },
        { USB_DEVICE(0x0711, 0x0920) },
        { USB_DEVICE(0x0711, 0x0950) },
        { USB_DEVICE(0x0711, 0x5200) },
        { USB_DEVICE(0x182d, 0x021c) },
        { USB_DEVICE(0x182d, 0x0269) },
        { }
};

Add your device 0711:5100, rebuild the module.

mfoley 11-07-2015 12:31 AM

I'll give it a try and report back. Seems too easy. What am I missing? If all that's needed us to add one line to one module why wouldn't someone have done this years ago?

Emerson 11-07-2015 04:27 AM

Because the author of this driver didn't feel this particular device is properly supported by his code. You add it, you are in your own.

mfoley 11-07-2015 06:59 PM

Well, I can (hopefully) revert to a previous kernel if it doesn't work. If I'm really bored one day, I can look through the code and see if there are things I can tweak.

Another question ... I've downloaded and built a new kernel according to your suggestion and according to the instructions in https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel. Everything went smoothly. When finished I had the following .deb files created:

-rw-r--r-- 1 root root 16813850 Nov 7 16:30 linux-image-3.19.0-32-generic_3.19.0-32.37~14.04.1_amd64.deb
-rw-r--r-- 1 root root 38392766 Nov 7 16:31 linux-image-extra-3.19.0-32-generic_3.19.0-32.37~14.04.1_amd64.deb
-rw-r--r-- 1 root root 871582 Nov 7 16:31 linux-headers-3.19.0-32-generic_3.19.0-32.37~14.04.1_amd64.deb
-rw-r--r-- 1 root root 151264 Nov 7 16:31 linux-tools-3.19.0-32-generic_3.19.0-32.37~14.04.1_amd64.deb
-rw-r--r-- 1 root root 151182 Nov 7 16:31 linux-cloud-tools-3.19.0-32-generic_3.19.0-32.37~14.04.1_amd64.deb

The author of that link mentions most of these except the cloud deb. I'm not really interested in cloud stuff, but I'm not sure I can omit that deb from the next step: `dpkg -i linux*3.19.0-32-*.deb.

I've searched the net and can find plenty of "how to install" for cloud tools, but nothing actually describing what they are and what they do.

Do you know what they are, or where I can find info on them?

Do you think I can omit installing the *cloud*.deb, or might that break the kernel installation? (I do not have any "cloud" package currently installed)

Emerson 11-07-2015 07:30 PM

You need linux-image for sure, maybe linux-image-extra (is this where new module is?), rest is not required to boot and run the box.

mfoley 11-07-2015 10:27 PM

Well, I was worried about dependencies (and probably still should be) so I did the dpkg on all the deb's. The linux-tools and linux-cloud-tools had additional dependencies with linux-lts-vivid-tools-3.19.0-32 and did not install. No problem (I thought).

I rebooted ... Ubuntu/Debian does things differently than Slackware. With Slackware, I had to copy the newly created kernel into /boot and add it to /etc/lilo.conf. Ubuntu seems to have update *all* the files in /boot:

Code:

w-r--r-- 1 root root  178680 Mar 12  2014 memtest86+_multiboot.bin
-rw-r--r-- 1 root root  178176 Mar 12  2014 memtest86+.elf
-rw-r--r-- 1 root root  176500 Mar 12  2014 memtest86+.bin
-rw------- 1 root root  3623533 Jul 24 19:19 System.map-3.19.0-25-generic
-rw-r--r-- 1 root root  177779 Jul 24 19:19 config-3.19.0-25-generic
-rw-r--r-- 1 root root  1270417 Jul 24 19:19 abi-3.19.0-25-generic
-rw-r--r-- 1 root root  6565984 Nov  3 21:07 vmlinuz-3.19.0-25-generic
-rw-r--r-- 1 root root 19793460 Nov  3 22:26 initrd.img-3.19.0-25-generic
-rw------- 1 root root  6568640 Nov  7 16:20 vmlinuz-3.19.0-32-generic
-rw------- 1 root root  3628149 Nov  7 16:20 System.map-3.19.0-32-generic
-rw-r--r-- 1 root root  177790 Nov  7 16:20 config-3.19.0-32-generic
-rw-r--r-- 1 root root  1271689 Nov  7 16:20 abi-3.19.0-32-generic
-rw-r--r-- 1 root root 19792019 Nov  7 22:03 initrd.img-3.19.0-32-generic
drwxr-xr-x 5 root root    4096 Nov  7 22:03 grub

Notice today's date on the latter files (though I don't quite get why some of them are 6 hours earlier). When I boot, the same selections appear on the grub menu as before. I expected to see my new one listed separately. My boot menu has:

Ubuntu
Ubuntu, with Linux 3.19.0-32-generic
Ubuntu, with Linux 3.19.0-32-generic (recovery mode)
Memory test (memtest86+)
Windows 7 (loader) (on /dev/sda1)
Windows 7 (loader) (on /dev/sda2)

This is exactly the same as before (old /boot/grub/grub.cfg is the same as the new one).

On my Cinnamon panel is a red circle with white horizontal line. Clicking on that gives me the message:

Quote:

An error occurred, please run Package Manager from the right-click menu or apt-get in a terminal to see what is wrong.
The error message was 'Error: BrokenCount > 0'. This usually means your installed packages have unmet dependencies
I have no idea what the "right-click menu" is. Do you? Running 'apt-get' in a terminal just gives me the help/usage for apt-get.

Perhaps I've bitten off more than I can chew. At least I have a backup. Suggestions? Can you decode that message for me and tell me what `apt-get` option I should use and/or what the 'right-click menu' is, or what the "Package Manager" is?

rokytnji 11-07-2015 10:46 PM

Better explaining than I can do. I am on AntiX which is not ubuntu.

http://nerdsngeeks.net/fix-error-broken-count-0-ubuntu/

mfoley 11-07-2015 10:47 PM

Suspecting that maybe the linux-tools and linux-cloud not installing were the source of the dependency error, I installed their missing dependencies, then `dpkg -i linux-tools-3.19.0-32-generic_3.19.0-32.37~14.04.1_amd64.deb linux-cloud-tools-3.19.0-32-generic_3.19.0-32.37~14.04.1_amd64.deb`. That did get rid of the red-circle error.

However, nothing indicating the 0711:5100 Magic Control Technology Corp. USB2VGA is detected. I expected to possibly see it in the System Settings > Display > Detect Display.

Any last thoughts before I rip this all out and restore back to the old kernel(s)?

Also, given the list of USBVGA IDs in that sisusb.c module, is there a way to determine what manufacturers and models these correspond to? My simplest solution might be to just buy a supported adapter.

Emerson 11-07-2015 11:21 PM

The module may not load automatically, try with modprobe.

mfoley 11-09-2015 12:55 PM

OK, will try that. What about the deal with all my existing kernels showing on the grub boot menu getting clobbered by the new build? Isn't there a way to save the old kernel ... in case?


All times are GMT -5. The time now is 06:23 AM.