Looking at this problem, you mention the following:
When a display is plugged into the external VGA display port, both the
attached display and the external display are active on the BIOS
screens.
Once FreeBSD begins to boot, the external VGA display is no
longer active.
This basically means that you need to edit your /boot/loader.conf
.
I would try something like the following in /boot/loader.conf
:
i915kms_load="YES"
kern.vt.fb.default_mode="1024x768"
Assuming "1024x768" is the resolution you are after.
Sources: freebsd.org forums, some random blog - I was not 100% for the name/spelling of the module, and FreeBSD vt man page
Ahhh, the Fn keys not working, almost forgot that one ... you cannot usually detect Fn key presses, however, your keyboard interprets them and uses it as a key modifier. So when you hit, say Fn+F4
, FreeBSD will get neither Fn
, nor F5
key events but another, the one for enabling/disabling the external screen, which afaik, depends on the type of keyboard you use. Sadly, FreeBSD does not have the proper driver loaded for your keyboard, so you would have to find the proper module and load it in the same way as above <mod>_load="TRUE"
in /boot/loader.conf
. I do not have enough info on your keyboard to be able to help more, though.
After some in-depth research, I got a custom driver from here:
www.sunix.com/en/download.php?pid=970&file=driver&file_link=download/driver/2016/20160706173626_snx_V2.0.4.2.tar.gz
For some reason (that I'm unaware of), the kernel doesn't seem to recognize the other serial ports. So, I got it fixed by doing the following:
Download the driver from the link above. "ncurses.h" is a dependency for the above driver. Install it using apt
as:
sudo apt-get install libncurses5-dev
Change to root directory (to install the driver), create a new directory temp
and make temp
your working directory:
cd /
sudo mkdir temp
cd /temp
Copy the tar
file and extract the contents to /temp
:
sudo cp ~/Downloads/20160706173626_snx_V2.0.4.2.tar.gz /temp/snx_V2.0.4.2.tar.gz
sudo tar xvf snx_V2.0.4.2.tar.gz
Install the driver using the following steps:
sudo make clean
sudo make install
sudo modprobe snx
Run lsmod | grep snx
to verify. New device files should be created with a prefix as ttySNX
(instead of ttyS
). The same can be checked using ls /dev/ttySNX*
, which should be giving the following output:
/dev/ttySNX0 /dev/ttySNX1 /dev/ttySNX2 /dev/ttySNX3 /dev/ttySNX4 /dev/ttySNX5 /dev/ttySNX6 /dev/ttySNX7
So, the bottomline is : Linux may not be able to do magic (which it does more often than not) and make every device work in a plug and play manner, it may need drivers to some specific devices.
Best Answer
The closest thing to a direct answer to your question would be to look at devd.conf, but if you just want to rename the interface, adding
ifconfig_em0_name="eth0"
to your rc.conf should do the trick. But this is probably just going to make it harder for other FreeBSD users to help you.