FAQ


Sometimes you need to perform a network installation (i.e. when no USB or DVD drive is allowed to boot, but you can boot PXE). In case of FreeBSD you can use DNSMASQ to serve the DHCP that will assign the initial client address and configuration along with PXE boot image served over tFTP. At this point you will have bootloader running, so you can serve filesystem over NFS to obtain working environment and/or the installer..

  • Create a directory that will hold the target filesystem over network. In my case that was
    /usr/local/tftp/FreeBSD
  • Put OS/Installer files inside above directory
    cd /usr/local/tftp/FreeBSD
    wget http://(..)/file.iso
    7z x file.iso
  • Edit /etc/exports to export the filesystem over NFS
    /usr/local/tftp/FreeBSD -ro -alldirs -network 192.168.0.0
  • Install the dnsmasq
    pkg install dnsmasq
  • Setup the /usr/local/etc/dnsmasq.conf
    enable-tftp
    tftp-root=/usr/local/tftp/FreeBSD
    
    dhcp-range=192.168.0.50,192.168.0.60,255.255.255.0,1h
    dhcp-boot=boot/pxeboot
    dhcp-option=option:router,
    dhcp-option=option:root-path,/usr/local/tftp/FreeBSD
    
  • Restart services
    service nfsd onerestart
    service dnsmasq onerestart
  • In case you get bootloader running but troubles with NFS make sure that mountd is running. Also you can see who is using the NFS shares with
    showmount -a

PXE Boot always use initial DHCP/tFTP to fetch configuration and bootloader, so the first stage is similar and should work with other Operating Systems and Bootloaders as well, the rest is up to bootloader itself..

If you want to install additional Python [1] modules inside your Blender [2] environment, you can install PIP using this recommended script [3], then use PIP to install all modules that you want. Note Blender’s Python Virtualenv location is /path_to_blender/blender_version/python/bin/python and you need to use this particular interpreter to launch the script.

[1] https://www.python.org/
[2] https://www.blender.org/
[3] https://pip.pypa.io/en/stable/installing/

Blender 3D can work with DualShock4 Playstation4 wireless controller over Bluetooth [1].

[1] http://www.blendswap.com/blends/view/78315

Use advanced features of your Synaptics Trackpad on a laptop running FreeBSD [1] with:

  • set in /boot/loader.conf:
    hw.psm.synaptics_support="1"
  • set in /etc/rc.conf:
    moused_enable="YES"
  • set in /etc/X11/xorg.conf:
    Section "InputDevice"
        Identifier      "Mouse0"
        Driver          "mouse"
        Option          "Protocol"      "auto"
        Option          "Device"        "/dev/sysmouse"
        Option          "ZAxisMapping"  "4 5 6 7"
    EndSection

If you want to have “MacBook” like two-finger scrolling along with other parameters you can set in /etc/sysctl.conf:

hw.psm.synaptics.min_pressure=16
hw.psm.synaptics.max_pressure=220
hw.psm.synaptics.max_width=10

hw.psm.synaptics.vscroll_hor_area=1300
hw.psm.synaptics.vscroll_ver_area=-600
hw.psm.synaptics.vscroll_min_delta=50
hw.psm.synaptics.vscroll_div_min=100
hw.psm.synaptics.vscroll_div_max=150

hw.psm.synaptics.weight_current=3
hw.psm.synaptics.weight_previous=6
hw.psm.synaptics.weight_previous_na=20
hw.psm.synaptics.weight_len_squared=2000

hw.psm.synaptics.div_min=9
hw.psm.synaptics.div_max=17
hw.psm.synaptics.div_max_na=30
hw.psm.synaptics.div_len=100

hw.psm.synaptics.margin_top=200
hw.psm.synaptics.margin_right=200
hw.psm.synaptics.margin_bottom=200
hw.psm.synaptics.margin_left=200

hw.psm.synaptics.window_min=4
hw.psm.synaptics.window_max=10
hw.psm.synaptics.multiplicator=10000

[1] https://wiki.freebsd.org/SynapticsTouchpad

If you want to use NTFS volumes on FreeBSD [1], you need to use FUSE infrastructure andNTFS-3G [2] port. Syntax of fstab is a bit differen in this case:

/dev/ntfs_partition /mnt/ntfs_mounpoint fuse rw,locale=pl_PL.UTF8,mountprog=/usr/local/bin/ntfs-3g 0 0

Also remember to put fuse_load=”YES” in /boot/loader.conf and install the sysutils/fusefs-ntfs port. Do not use hibernated volumes.

[1] https://www.freebsd.org
[2] https://www.freshports.org/sysutils/fusefs-ntfs

If you happen to get a nice laptop with a powerful graphics card, such as polish HYPERBOOK SL502VR [1], it is highly probable that you will use UEFI boot mode. In that case you need to use SCFB [2] driver instead of VESA. Use the xf86-video-scfb package to get Xorg running.

Hybrid Graphics at first used MUX device that did a LCD connect to a selected video card on boot. Nowadays both cards use common Video Framebuffer [3] to draw over a screen. The simple video card (Intel in my case) is always active, while the more powerful and power consuming video card is started on-demand (nVidia in my case). This however requires a dedicated DMA BUF implementation, which is not yet available on FreeBSD, so none of the cards can see any monitor connected, resulting in “No Screens Found Error” from Xorg.

I have already reported a bug/feature request to nVidia. Also developers of FreeBSD are working on the Hybrid Graphics implementation.

[1] http://sklep.hyperbook.pl/hyperbook-sl502-vr-p651rp6g-gtx-1060-p-25965.html
[2] https://wiki.freebsd.org/Graphics/SCFB
[3] https://en.wikipedia.org/wiki/Framebuffer

Google Chromecast is a device that allows you to stream audio-video content over WiFi network from Application to a HDMI enabled display. This works really nice when you want to watch Netflix or show some movies from your mobile device on large screen TV/Projector.

Recently, Google released a new line of Chromecast devices that support audio only and higher resolution displays, renaming Chromecast to Google Home. This rebrand also replaced mobile application for devices management. New application forces user to have working internet connection, use localization, and sign with google account in order to work. There is no way to roll back to old application. Not really cool.

I have found and reported one nasty bug in this new Google Home application (version 1.19.29), that prevents you from discovering and setting up old Chromecast devices after Factory Defaults Reset or WiFi password change (so it can connect to your WiFi again). I only have old device so I am not sure how this affects new devices. You will not be able to discover your Chromecast device over WiFi when Localization Services are disabled and according permission was not granted!! In order to connect to your Chromecast:

  • Reinstall or clear application data/cache.
  • In startup configuration wizard you must grant access to localization services. If you do not enable localization and allow it to work granting permissions, you will not find your Chromecast later on.
  • Search now for a Chromecast device still in setup wizard, you will find it, only if you did previous step correctly.
  • Note that when you find a device that way, you can skip sign in with google account.
  • If you do not grant localization permissions you will not be able to detect your chromecast device anymore.

I hope this has nothing to do with killing old line of devices with a software update. I also hope Google will fix this issue in next releases and they really don’t force users to give up so many personal information (why do they need GPS/Bluetooth running for a simple WiFi connection otherwise)..

Sony Xperia phones are my favorite. Very good and durable electronics, amazing photo camera, nice utilities on top of standard Google Android OS. I have also always respected Xperia for allowing users to unlock their phones for Open-Source Firmware Customization on this amazing hardware..

xperiacompanionfail

Unfortunately, Sony seems to have this habit to make a bad decisions, so amazing hardware is not always followed with a good software. This is why Open-Source Customization is so important. I have already found several nice devices with a really bad firmware. What is more, this corruption seems to spread, and Sony blocks factory firmware restore for an unlocked devices with their official Xperia Companion utility. This means unlocking a device does not only Voids a Warranty, but also silently makes it Impossible to Go Back to a Stock Firmware! This is really bad idea.

emma

Luckily smart people tends to predict and help each other out. Developer team of Sony Mobile released EMMA utility (nice name by the way) that allows you to re-flash mobile that is unlocked in case something goes wrong or you simply want to get back to a stock firmware.

Open-Source Firmware Customization will become a standard, even for large enterprises, with mutual benefit to their customers, because looking at the big picture we are part of the same eco(no)system..

It is possible to connect a game controller to Android based device and use it as input for your application [1].

[1] https://developer.android.com/training/game-controllers/index.html

Most modern Android based devices support USB OTG function [1]. USB is a Host centric bus that means there is only one Host device and many different Devices can be connected to it. Using inexpensive USB-OTG cable it is possible to swich smarphone USB port from Device to Host, and connect external devices, if chipset and OS build allows this. Google provides detailed information on how to code USB Host [2] in your application.

[1] http://www.usb.org/developers/onthego/
[2] https://developer.android.com/guide/topics/connectivity/usb/host.html

Next Page »