.titleBar { margin-bottom: 5px!important; }

HFC-S USB hat Knacken im NT-Modus (mISDN)

Dieses Thema im Forum "Asterisk ISDN mit Bristuff (hfc, zaptel)" wurde erstellt von Frittenbude, 3 Jan. 2006.

  1. Frittenbude

    Frittenbude Neuer User

    Registriert seit:
    23 Dez. 2005
    Beiträge:
    73
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Hallo zusammen,

    erfreulicherweise konnte ich inzwischend meinen HFC-S USB-Adapter testweise im NT-Modus zum Laufen bekommen. Allerdings kommt es dabei zu Knacken (oder so ähnlich) in der Leitung. Jedenfalls dann, wenn ich das Freizeichen höre. Während des Gesprächs mit einem SIP-Gerät ist es weg. Ganz sicher bin ich mir bei letzterem nicht; werde ich noch genauer testen.

    Diesen Test habe ich auf einem Kernel 2.6.9-27 durchgeführt. Der Rechner ist ein A64 auf 2GHz getaktet. An einer zu langsamen Maschine dürfte das Knacken demnach nicht liegen.
    mISDN nutze ich, um den hfcsusb-Treiber zu laden.

    Hier mal ein Auszug der Kernel-Messages:

    Fehler sind hier nicht, oder?

    Hier ein Auszug der belegten Interrupts:
    Kann jemand etwas zu dem Knacken sagen?

    Wäre echt klasse, wenn dieses Problem auch noch beseitigt werden könnte. Denn dann könnte ich die HFC-S PCI-Karte sowie den HFC-S USB-Adapter gleichzeitig einsetzen.

    Gruß,
    Frittenbude
     
  2. lo4dro

    lo4dro Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    656
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Vielleicht ein IRQ Problem.
    Versuch doch mal apic im Kernel zu aktivieren.
     
  3. Frittenbude

    Frittenbude Neuer User

    Registriert seit:
    23 Dez. 2005
    Beiträge:
    73
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Hi,

    hat APIC etwas mit ACPI zu tun? Denn ACPI ist wohl im Kernel aktiviert.

    Gruß,
    Frittenbude
     
  4. lo4dro

    lo4dro Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    656
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Mach mal:

    Code:
     cat /proc/interrupts 
               CPU0       
      0:   53378758    IO-APIC-edge  timer
      4:     167275    IO-APIC-edge  lirc_serial
      8:          4    IO-APIC-edge  rtc
      9:          0   IO-APIC-level  acpi
     14:      15800    IO-APIC-edge  ide0
     16:  426784478   IO-APIC-level  zaphfc, zaphfc
     18:   11672309   IO-APIC-level  saa7146 (2)
     19:   18997130   IO-APIC-level  saa7146 (0), saa7146 (1)
     21:       8015   IO-APIC-level  ehci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb3, uhci_hcd:usb4, uhci_hcd:usb5
     23:      41979   IO-APIC-level  eth0
    
    
    wenn bei dir IO-APIC steht und du IRQs grösser als 15 hast, dann ist APIC aktiv.
    Ein System ohne APIC sieht so aus:
    Code:
     cat /proc/interrupts 
               CPU0       
      0:    2616451          XT-PIC  timer
      1:       6068          XT-PIC  i8042
      2:          0          XT-PIC  cascade
      8:          4          XT-PIC  rtc
      9:        177          XT-PIC  acpi
     10:     156862          XT-PIC  nvidia
     11:      17749          XT-PIC  yenta, yenta, yenta, uhci_hcd, uhci_hcd, uhci_hcd, 0.0, Intel 82801CA-ICH3, Intel 82801CA-ICH3 Modem
     12:      63821          XT-PIC  i8042
     14:       9645          XT-PIC  ide0
     15:         13          XT-PIC  ide1
    
     
  5. Frittenbude

    Frittenbude Neuer User

    Registriert seit:
    23 Dez. 2005
    Beiträge:
    73
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    OK, dann ist APIC bei mir wohl nicht aktiviert.

    Sind weniger als 16 IRQs und XT-PIC wird gemeldet.

    Mal schauen, ob ich das irgendwie aktiviert bekomme. Ich hoffe, dass ich dafür keinen Kernel neukompilieren muss.

    Gruß,
    Frittenbude
     
  6. lo4dro

    lo4dro Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    656
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich hab mir einen passenden Kernel gebaut.
    Glaube kaum das das anderst geht.
     
  7. Frittenbude

    Frittenbude Neuer User

    Registriert seit:
    23 Dez. 2005
    Beiträge:
    73
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Dazu hätte ich dann mal kurz eine Frage.

    Wenn ich den Kernel kompiliere muss ich doch im Prinzip wie folgt vorgehen:
    - neuesten Kernel von kernel.org herunterladen (2.6.15)
    - ihn im /usr/src/ Verzeichnis entpacken
    - Link "linux" und "linux-2.6" auf /usr/src/linux-2.6.15 legen
    - im Source-Verzeichnis des Kernels "make menuconfig" eingeben und die gewünschten Treiber und Funktionen auswählen.
    (ext2 und ext3 in den Kernel integrieren (also nicht als Modul), ist das richtig?)
    - dann make ausführen
    - bzImage aus /usr/src/linux/arch/i386/boot/ nach /boot/linux-2.6.15 kopieren
    - dann in die grub.conf
    Testweise habe ich das mal unter einer VMWare (gleiche Linux-Distribution) installiert, wobei beim Booten des neuen Kernels dann folgendes auftrat:

    Soweit ich es herausgefunden habe, werden Festplatten unter VMWare als SCSI-Platten angesprochen und ein Kernel kann gewöhnlich nicht direkt darauf zugreifen, sondern braucht wohl noch ein initrd-image. Ist das richtig?
    Und wenn ja, würde meine Vorgehensweise denn ansonsten klappen, wenn ich es direkt auf meinem Server anwenden würde (ohne VMWare oder SCSI-Geräte)?

    Gruß,
    Frittenbude
     
  8. bubble

    bubble Neuer User

    Registriert seit:
    19 Juli 2005
    Beiträge:
    69
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Seht erst mal unter /usr/src/linux/.config ob die folgenden Optionen auf Y oder N stehen:

    CONFIG_X86_UP_APIC=y
    CONFIG_X86_UP_IOAPIC=y
    CONFIG_X86_LOCAL_APIC=y
    CONFIG_X86_IO_APIC=y
    CONFIG_X86_MCE=y

    Wenn ja kann man beim Laden des Kernel acpi=force und apic angeben. So wird ACPI und APIC erzwungen. Das macht man am besten z.B. bei GRUB in /boot/grub/menu.lst.

    Wenn die Optionen deaktiviert sind neuen Kernel bauen, wenns trotzdem nicht klappt hat das Board keinen APIC Chip.

    Bubble
     
  9. Frittenbude

    Frittenbude Neuer User

    Registriert seit:
    23 Dez. 2005
    Beiträge:
    73
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Hi,

    in meiner .config steht folgendes:

    Ist also nicht aktiviert. Aber davon bin ich ohnehin schon ausgegangen. Daher versuche ich ja den Kernel neu zu kompilieren.

    Ist denn meine Vorgehensweise beim Kompilieren in meinem vorhergehenden Beitrag richtig? Ich habe mir schon einige Howtos angesehen. Wäre nett, wenn Du mir dazu etwas sagen könntest.

    Gruß,
    Frittenbude
     
  10. bubble

    bubble Neuer User

    Registriert seit:
    19 Juli 2005
    Beiträge:
    69
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Sieht erst mal gut aus.
    vmlinuz muss irgendwo nach /boot gerne auch in ein unterverzeichnis. grub.conf is nicht der richtige ort zum konfigurieren.
    /boot/grub/menu.lst hier muss es rein. hier mal meine:
    kernel (hd0,1)/boot/vmlinuz root=/dev/hda2 selinux=0 splash=silent resume=/dev/hda3 desktop elevator=as showopts
    initrd (hd0,1)/boot/initrd

    Bubble
     
  11. Frittenbude

    Frittenbude Neuer User

    Registriert seit:
    23 Dez. 2005
    Beiträge:
    73
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    OK, danke.

    Wie erstelle ich denn die initrd-Datei?

    Gruß,
    Frittenbude
     
  12. bubble

    bubble Neuer User

    Registriert seit:
    19 Juli 2005
    Beiträge:
    69
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Wenn das bei dir bisher fehlt dann jetzt auch weg lassen.
     
  13. Frittenbude

    Frittenbude Neuer User

    Registriert seit:
    23 Dez. 2005
    Beiträge:
    73
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Ich teste den Kernel ja vorab erstmal unter einer VMWare-Maschine. Da dort die virtuellen Laufwerke als SCSI-Laufwerke angesprochen werden, brauche ich wohl so ein Initrd-Image.

    Ich möchte den kompilierten Kernel nicht gleich auf meinem "Wirksystem" einsetzen, da er nur Remote via SSH bedient werden kann. Lokal am Rechner sind keine Ein- und Ausgabegeräte angeschlossen. Daher möchte ich nicht einfach die Standardbootoption auf den neuen Kernel stellen. Sonst bekomme ich die Kiste im Problemfall nicht mehr hochgefahren.

    Dabei fällt mir ein, dass ich den neuen Kernel direkt auf der Kiste kompilieren und als zweite Bootoption einbinden könnte. In diesem Fall bräuchte ich nur eine Tastatur anzuschließen und blind die zweite Bootoption bei Hochfahren auszuwählen. Im Problemfall könnte ich dann immer noch booten.
    Allerdings könnte ich eventuelle Fehlermeldungen dann nicht sehen.

    Eine andere Möglichkeit gibt es dann wohl nicht, außer den Kernel auf einem anderen System (nativ, z.B. auf Notebook) zu testen. Oder hat jemand eine andere Idee?

    Gruß,
    Frittenbude
     
  14. bubble

    bubble Neuer User

    Registriert seit:
    19 Juli 2005
    Beiträge:
    69
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    ;)

    Teste mal auf der VMWare.
     
  15. Frittenbude

    Frittenbude Neuer User

    Registriert seit:
    23 Dez. 2005
    Beiträge:
    73
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Dabei habe ich dann ja - wie gesagt - das Problem, dass ich ein initrd-image wegen SCSI erstellen müsste.

    Daher werde ich es als Dualboot auf meinem Notebook testen.

    Gruß,
    Frittenbude
     
  16. cibi

    cibi Mitglied

    Registriert seit:
    6 Apr. 2005
    Beiträge:
    561
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Ba-Wü
    Bei Suse langt glaube ich "mkinitrd", ansonsten
    "mkinitrd -o /tmp/initrd.img <kernelversion>" und anschließend nach /boot kopieren (eventuell vorher noch die Kernelversion an den Namen anhängen).
    Und nicht vergessen, das auch in den Bootmanager einzutragen.
    s. man mkinitrd
     
  17. Frittenbude

    Frittenbude Neuer User

    Registriert seit:
    23 Dez. 2005
    Beiträge:
    73
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Hallo zusammen,

    ich habe das System mal auf einem Notebook im Dualboot-Verfahren aufgesetzt und anschließend den Kernel neu kompiliert. Hat auch alles einwandfrei funktioniert.

    Aber obwohl ich den neuen Kernel mit ACPI- und APIC-Funktionalität boote, zeigt mir "cat /proc/interrupts" kein APIC-Modus an:

    Laut dmesg ist zumindest ACPI aktiviert.

    In meiner .config des kompilierten Kernels sind folgende Optionen, die mit APIC im Zusammenhang stehen aktiviert.

    Das Notebook sollte eigentlich alle neuartigen Features diesbezüglich können. Es ist ein Centrino-Notebook mit dem Intel-Chipsatz i855GM.

    Hier sind noch meine angegebenen Boot-Parameter.

    Hat jemand ne Idee woran das liegen könnte?

    Gruß,
    Frittenbude
     
  18. cibi

    cibi Mitglied

    Registriert seit:
    6 Apr. 2005
    Beiträge:
    561
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Ba-Wü
    Zeigt den dmesg gar nichts zu apic an?
    (dmesg | grep -i apic)
     
  19. Frittenbude

    Frittenbude Neuer User

    Registriert seit:
    23 Dez. 2005
    Beiträge:
    73
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    #19 Frittenbude, 15 Jan. 2006
    Zuletzt bearbeitet: 15 Jan. 2006
    Hi!

    Das hätte ich vielleicht schon eher ausprobieren sollten ;)

    Folgende Ausgabe erhalte ich:

    Ist das eine Boot-Option?
    Ich werde es mal testen und mich anschließend zurückmelden.

    So, habe es jetzt mit der Option "lapic" probiert und erhalte nachfolgende Meldung.

    "cat /proc/interrupts" sagt aber nach wie vor nichts von APIC, sondern nur XT-PIC.

    Gruß,
    Frittenbude
     
  20. lo4dro

    lo4dro Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    656
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Würde mal sagen, der Laptop unterstützt kein APIC-IRQ Verteilung.
    Bei mir sieht das so aus:

    Code:
    Jan 14 19:29:52 vdr-pbx kernel: ACPI: Local APIC address 0xfee00000
    Jan 14 19:29:52 vdr-pbx kernel: ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
    Jan 14 19:29:52 vdr-pbx kernel: Processor #0 6:8 APIC version 16
    Jan 14 19:29:52 vdr-pbx kernel: ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
    Jan 14 19:29:52 vdr-pbx kernel: ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
    Jan 14 19:29:52 vdr-pbx kernel: IOAPIC[0]: apic_id 2, version 3, address 0xfec00000, GSI 0-23
    Jan 14 19:29:52 vdr-pbx kernel: Enabling APIC mode:  Flat.  Using 1 I/O APICs
    Jan 14 19:29:52 vdr-pbx kernel: mapped APIC to ffffd000 (fee00000)
    Jan 14 19:29:52 vdr-pbx kernel: mapped IOAPIC to ffffc000 (fec00000)
    Jan 14 19:29:52 vdr-pbx kernel: ENABLING IO-APIC IRQs
    Jan 14 19:29:52 vdr-pbx kernel: ACPI: Using IOAPIC for interrupt routing
    Jan 14 19:37:04 vdr-pbx kernel: ACPI: Local APIC address 0xfee00000
    Jan 14 19:37:04 vdr-pbx kernel: ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
    Jan 14 19:37:04 vdr-pbx kernel: Processor #0 6:8 APIC version 16
    Jan 14 19:37:04 vdr-pbx kernel: ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
    Jan 14 19:37:04 vdr-pbx kernel: ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
    Jan 14 19:37:04 vdr-pbx kernel: IOAPIC[0]: apic_id 2, version 3, address 0xfec00000, GSI 0-23
    Jan 14 19:37:04 vdr-pbx kernel: Enabling APIC mode:  Flat.  Using 1 I/O APICs
    Jan 14 19:37:04 vdr-pbx kernel: mapped APIC to ffffd000 (fee00000)
    Jan 14 19:37:04 vdr-pbx kernel: mapped IOAPIC to ffffc000 (fec00000)
    Jan 14 19:37:04 vdr-pbx kernel: ENABLING IO-APIC IRQs
    Jan 14 19:37:04 vdr-pbx kernel: ACPI: Using IOAPIC for interrupt routing
    
    Ich habe das Mainboard im Einsatz: ASUS A7V600-X