Usbahcicore.ko

From Fritz!Box
Jump to: navigation, search

AVM Wiki >> Shell-Befehle >> usbahcicore.ko @ whmf   -   IRC-Chat   -   hu nl it English
Community Modelle Zubehör Environment Konfiguration Shell-Befehle Software Freetz Lexikon Tipps+Tricks Bilder

Startup-Scripts AVM-Befehle BusyBox-Befehle Linux-Befehle Shared Libraries Kernel-Module Listings Todo

Contents

Modul

Dieses Modul bedient den USB-Host-Controller den AVM bei neueren AR7-Modellen mit Microvoip-Stack wie z.B. der 7170 im Spartan FPGA realisiert hat. Es hat komplexe Zusammenhänge zu anderen Modulen die nicht aus den Dependencies ersichtlich sind.

Das FPGA stellt einen Registerbereich im EMIF-Adressraum des AR7 bereit, daher muss das BitFile microvoip_isdn_top.bit (7150: microvoip_top.bit) mit der EMIF-Variante Piglet.ko geladen sein. Dazu muss das Modul ubik2.ko geladen sein, das wiederum tiatm.ko benötigt, mit laufender microvoip-dsl.bin Firmware. Die Adresse des vom FPGA eingeblendeten AHCI-Controllers findet man so:

$ grep piglet /proc/iomem
be000000-be000068 : piglet_emifreg

Diese Adresse wird usbahcicore.so beim Laden übergeben.

Das Hotplugging wird vom USB-Subsystem im Kernel gesteuert. Dieses ruft bei Veränderungen das in /proc/sys/kernel/hotplug eingetragene Script hotplug auf, das die vom Kernel übermittelten Angaben für usb.pandu aufbereitet. Zusätzlich wird ctlmgr über libavm_event.so durch ein usb_status Event getriggert, und ruft dann usbhostchanged auf, das wiederum "storage reload" ausführt. Neuere AR7-Modelle mit WLAN (7141, 7150, 7170) triggern das hotplug Script auch über tiap.ko. Dies ist wohl der Aufruf von Stick & Surf durch FRITZ! Mini.

Als minimalistischste Anwendung dieser USB-Host-Lösung ist die 2170 ohne Telefonie und WLAN interessant. In ihrer Firmware befindet sich eine weitaus kleinere Version von ubik2.ko, da ohne Telefonie der Upper Layer nicht benötigt wird, auch genügt das kleinste in der FRITZ!Box verbaute FPGA (XC3S100E).

Aufgerufen von

Aufruf

$ modinfo usbahcicore

filename:       /lib/modules/2.6.13.1-ohio/kernel/drivers/usb/ahci/usbahcicore.ko
description:    AVM Host Controller Interface Driver
author:         AVM GmbH
license:        GPL
depends:        usbcore
vermagic:       2.6.13.1-ohio gcc-3.4

parm:           AHCI_BaseAddress:    i
parm:           AHCI_RegisterOffset: i
parm:           AHCI_IntLine:        i

Beispiele

Aus rc.usbhost einer 7170 fw 4.80:

modprobe usbahcicore AHCI_BaseAddress=0xbe008000 AHCI_RegisterOffset=0x4000 AHCI_IntLine=1

Symbole

$ grep " usbahcicore" /lib/modules/`uname -r`/modules.symbols | sed 's/symbol://' | awk '{ print " " $2 }' | sort

nix

Abhängigkeiten

Siehe auch

Dateisystem: (156)

USB-Host: (89)