Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disabled modules (bridge/dvb-EM28XX) #134

Open
IngwiePhoenix opened this issue Feb 2, 2024 · 1 comment
Open

Disabled modules (bridge/dvb-EM28XX) #134

IngwiePhoenix opened this issue Feb 2, 2024 · 1 comment

Comments

@IngwiePhoenix
Copy link

IngwiePhoenix commented Feb 2, 2024

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:

@IngwiePhoenix
Copy link
Author

IngwiePhoenix commented Feb 3, 2024

VPNs - or services that require tun/tap devices - will also not work:

# CONFIG_TUN is not set
# CONFIG_TUN_VNET_CROSS_LE is not set

I tried to install Tailscale; but it couldn't create an interface, since the required module is not loaded.

UPDATE:
refs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant