Skip to content

Disabled modules (bridge/dvb-EM28XX) #134

Open
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions