Skip to content

Disabled modules (bridge/dvb-EM28XX) #134

@IngwiePhoenix

Description

@IngwiePhoenix

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:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions