Description
Hello and good evening!
I just spent ~6 hours spinning in a circle, wondering why nothing would show up under /dev/dvb
after putting together the acryl case for my new VisionFive2. It's been so much fun looking at what works and what does not - but there are some absurd modules missing from the build.
The ones that I ran into were
- The (virtual) ethernet bridge
- A set of DVB modules
About the bridge:
root@riscboi ~# zcat /proc/config.gz | grep BRIDGE
# CONFIG_NF_CONNTRACK_BRIDGE is not set
# CONFIG_BRIDGE is not set
CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y
# CONFIG_DRM_SIMPLE_BRIDGE is not set
This causes brctl
to emit "Package not installed".
The StarFive2 has two ethernet ports; not being able to bridge them is actually annoying. I had to fish a random switch and PSU for that just to keep everything on the network... And, both ports are gigabit, no less.
The second thing is a little more niche, I can live with that.
After looking up the VID/PID pairs of my DVB tuners (both Haupage WinTV devices), I had to learn that this is also tied to a configuration within the kernel:
root@riscboi ~# zcat /proc/config.gz | grep CONFIG_VIDEO_EM28XX
# CONFIG_VIDEO_EM28XX is not set
For comparison, here is an Armbian maschine (RockPro64 w/ RK3399), running the exact same greps:
root@diskboi /boot# cat config-6.1.63-current-rockchip64 |grep CONFIG_VIDEO_EM28XX
CONFIG_VIDEO_EM28XX=m
CONFIG_VIDEO_EM28XX_V4L2=m
CONFIG_VIDEO_EM28XX_ALSA=m
CONFIG_VIDEO_EM28XX_DVB=m
CONFIG_VIDEO_EM28XX_RC=m
root@diskboi /boot# cat config-6.1.63-current-rockchip64 |grep BRIDGE
CONFIG_BRIDGE_NETFILTER=m
CONFIG_NETFILTER_FAMILY_BRIDGE=y
CONFIG_NF_TABLES_BRIDGE=m
CONFIG_NFT_BRIDGE_META=m
CONFIG_NFT_BRIDGE_REJECT=m
CONFIG_NF_CONNTRACK_BRIDGE=m
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_IP6=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
# CONFIG_BRIDGE_MRP is not set
# CONFIG_BRIDGE_CFM is not set
CONFIG_SSB_B43_PCI_BRIDGE=y
# CONFIG_DVB_DDBRIDGE is not set
CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y
# CONFIG_DRM_SIMPLE_BRIDGE is not set
Since you distribute the kernel as a monolithic unit, from what I can tell, I would love to know if it is possible to get those features and modules back?
I will probably setup a cross-compile SDK just to rebuild the kernel but this is not going to be fun... And, my UART cable broke (nicked the RX wire in my adapter... x.x), so while I can be on the device, updating the kernel won't be a lot of fun.
Would love to hear your thoughts on this, maybe you have an idea to work around this. :)
As far as I know, I can not just grab any random 6.x upstream kernel, apply that and be done...
Kind regards,
Ingwie
UPDATED:
Refs: