Possible to use External USB graphics card/adapter for connecting router to HDMI/VGA/DVI/DP Monitor?

Is it possible to use a USB3 graphics card/adapter to HDMI/VGA/DVI/DP to allow the router to be used as a computer with a computer display monitor?

To use just one specific example (because there are many such products available), the following product shows support for Linux:
https://www.amazon.com/StarTech-USB-Dual-DisplayPort-Adapter/product-reviews/B07C69HG33?filterByKeyword=linux

Does this mean that it will work plug-and-play with an openwrt (latest version) installed router that has USB3 ports?

The purpose of this is obvious - to be able to use the router linux virtual terminal command line to control the router directly (just like a regular linux computer) without having to ssh into it.

Also, a keyboard would need to be connected to another USB port but the router does have multiple USB ports... So, the router should be able to recognize the USB keyboard as well.

Thanks.

In theory, yes - in practice, not really. In order to make this work, you'd have to do a lot of development first, starting by packaging the necessary kernel modules (and more).

1 Like

4 points I would like to make:

(1)
The Wikipedia article about Openwrt states the following text (within quotes):

"
OpenWrt supports any hardware that has Linux support; devices that can be connected (e.g. over USB) include

Printers
Mobile broadband modems
Webcams
Sound cards

"

(2)
But much more to the point, if openwrt comes with a vanilla (or close-to-vanilla) Linux kernel version 4.14.195, then should it not already have all the packaged kernel modules within '/lib/modules' and all the hardware-autodetect features (and kernel module auto-loading) of the vanilla kernel?

(3)
And even if it is far from a vanilla kernel - routers now come with 512MB to 1024MB of RAM with the option of connecting a disk of any available size via USB3/eSATA.

So, space is clearly not an issue any more for packaging the same number of kernel modules that comes with most desktop distributions of Linux such as Ubuntu.

I just did a 'du -hxcs /lib/modules/"$(uname -r)"' on another Ubuntu (Desktop) computer to reveal that it takes disk space of about 237MB - So, this is well within the space limits of most routers made after 2016.

(4)
Not to be critical in any way (because this project is enormously useful in the amount of features/packages that it adds to routers, and so, has tremendous value), but this seems to me that it would be an obvious feature that users would want - i.e. to be able to use the router like a regular directly-connected virtual terminal linux computer.

This would make trouble-shooting any connectivity issue much easier - as you would not need to ssh in, in case you are not able to.

And if users believe they might have accidentally "bricked" their router, they might be able to verify that more easily by connecting a monitor and keyboard directly - if the monitor/keyboard does work to access the router's linux virtual terminal - then it is not a bricked router but rather a connection-related problem (which could either be a hardware problem or software-configuration problem).

It would also eliminate the problem of your router ssh connection disconnecting for the numerous reasons that it could.

You would also get to, in theory at least, see the router bootup messages when you reboot or poweron the router, and in theory, modify the bootloader command line much like a regular linux computer user could...

So, in theory at least, it just opens up the possibilities for much that could be done with a router that cannot be done easily right now.

That's your opinion.
I read this and honestly could not think of any good use cases. So I wouldn't call it obvious. Even reading your use cases I just think, why?

Anyway, as was already mentioned to you, at the very least you need to go and package the required kernel modules. They are very likely removed for space reasons.

4 Likes

If you want the features of a generic/ general purpose distribution, maybe you should install one - no one forces you to use OpenWrt.

You have to die one death, making $YOUR_PREFERRED_GENERAL_PURPOSE_DISTRO work on $YOUR_ROUTER or investing time and efforts on the development to make OpenWrt do the (as-of-yet unsupported) things you want it to.

The rest of your rebuttal isn't really congruent with the technical reality of the devices your referring to.

1 Like

Ok, I respectfully disagree - because I have stated the use cases (see above), and I believe that routers with 512MB+ of RAM do have the necessary resources, and I simply do not have the technical expertise to get a generic-linux-distribution to work on a router.

But let us just set aside this disagreement for a second.

Based on my very-limited research and my very-limited understanding of the inner-workings of OpenWrt, I read the following in Wikipedia's DisplayLink article in the "Linux" sub-section:

"
Linux

Current generation of USB3 chips is supported by binary-only driver on Ubuntu. The Linux kernel 3.4 also contains a basic DisplayLink driver.

DisplayLink driver installer for Debian and Ubuntu based Linux distribution (Elementary OS, Mint, Kali, Deeping and et cetera) is available as part of displaylink-debian project.[32]

There was a DisplayLink-supported open source project called libdlo with the goal of bringing support to Linux and other platforms.[33] There are also unofficial reverse-engineered specifications available for older revisions of DisplayLink technology.[34]
"

The statement "The Linux kernel 3.4 also contains a basic DisplayLink driver" seems to indicate to me that Linux kernels since 3.4 have built-in support (even if it is very limited basic support) for DisplayLink certified USB3 devices (no external kernel module needed).

Am I misreading or misunderstanding this statement on Wikipedia?

I'm considering whether it is worth spending the money ordering such a device (and waiting the time for the item to arrive) to try to see if it "just works", or if there is no chance of it "just working" plug-and-play...

Any information/insight on this would be greatly appreciated.

Reading all what you have written in this thread I can only say save your money. As it will not work out of the box.

2 Likes

Ok, so I did a little bit more research and found out that the kernel config "CONFIG_FB_UDL" seems to control whether the kernel has builtin support (y), module support (m), or no support (n).

I just checked this setting in one of my Ubuntu desktops and it is set to "m".

So, can somebody please paste a direct link to the latest version (19.07.4) openwrt kernel's config - in other words, the link to the kernel config within the openwrt source repository.

Thanks.

opkg install kmod-ikconfig; zcat /proc/config.gz
1 Like