[gelöst]Kernel-Prozess kmemstick - Funktion?

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
bullgard
Beiträge: 1642
Registriert: 14.09.2012 23:03:01

[gelöst]Kernel-Prozess kmemstick - Funktion?

Beitrag von bullgard » 16.01.2020 08:32:27

Hallo debianforum.de,
[Debian stable]
Welche Funktion hat der Kernelprozess kmemstick?

Code: Alles auswählen

~$ ps aux | grep kmemstick
gibt aus:
root 399 0.0 0.0 0 0 ? I< 02:46 0:00 [kmemstick]
https://github.com/torvalds/linux/blob/ ... memstick.centhält die Zeilen:
static int __init memstick_init(void)
{
int rc;
workqueue = create_freezable_workqueue("kmemstick");
if (!workqueue)
return -ENOMEM;
rc = bus_register(&memstick_bus_type);
if (rc)
goto error_destroy_workqueue;
rc = class_register(&memstick_host_class);
if (rc)
goto error_bus_unregister;
return 0;
Die verstehe ich aber nicht.
Mit freundlichen Grüßen
bullgard
Zuletzt geändert von bullgard am 11.03.2020 23:15:03, insgesamt 1-mal geändert.

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Kernel-Prozess kmemstick - Funktion?

Beitrag von bluestar » 16.01.2020 09:45:39

bullgard hat geschrieben: ↑ zum Beitrag ↑
16.01.2020 08:32:27
Welche Funktion hat der Kernelprozess kmemstick?
Es handelt sich um den Worker-Prozess für Sony Memory Sticks.... (Erkenne wenn ein Stick gesteckt wurde, erkenne wenn ein Stick gezogen wurde, etc.)
bullgard hat geschrieben: ↑ zum Beitrag ↑
16.01.2020 08:32:27
https://github.com/torvalds/linux/blob/ ... memstick.centhält die Zeilen:
static int __init memstick_init(void)
{
int rc;
workqueue = create_freezable_workqueue("kmemstick");
if (!workqueue)
return -ENOMEM;
rc = bus_register(&memstick_bus_type);
if (rc)
goto error_destroy_workqueue;
rc = class_register(&memstick_host_class);
if (rc)
goto error_bus_unregister;
return 0;
Die verstehe ich aber nicht.
Dann solltest du dich mal mit der Kernel Programmierung befassen.... Es wird eine Workqueue (= Kernel-Thread) angelegt und dann (create_freezable_workqueue), danach werden die einzelnen Modul-Funktionen als virtueller Gerätebus "memstick" registriert:

Code: Alles auswählen

static struct bus_type memstick_bus_type = {
	.name           = "memstick",
	.dev_groups	= memstick_dev_groups,
	.match          = memstick_bus_match,
	.uevent         = memstick_uevent,
	.probe          = memstick_device_probe,
	.remove         = memstick_device_remove,
	.suspend        = memstick_device_suspend,
	.resume         = memstick_device_resume
};
Ansonsten kannst du dich gerne mal in die Kernel-Treiber-Entwicklung einlesen, die Suchmaschine deines Vertrauens liefert hier sicher mehr als genug Ergebnisse.

bullgard
Beiträge: 1642
Registriert: 14.09.2012 23:03:01

Re: Kernel-Prozess kmemstick - Funktion?

Beitrag von bullgard » 16.01.2020 15:21:19

Hallo bluestar,
vielen Dank!
Kannst Du mir bitte noch sagen:
1. Was hat der Kernelprozess kmemstick (noch) mit Sony zu tun? Wenn ich Debian stable mit diesem Prozess benutzen darf, ohne Gebühren zahlen zu müssen, dann wird wohl seine Funktionalität jetzt im Kernel unabhängig von Sony sein und mehr allgemeiner Natur sein. Nicht wahr?
2. Warum läuft in meinem Debian-unstable-Rechner kein Prozess »kmemstick«? Ich kann in meinen Debian-unstable-Rechner einen USB-Speicherstick stecken, er wird automatisch erkannt, und ich kann auf ihn Daten schreiben.
Gruß
bullgard

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Kernel-Prozess kmemstick - Funktion?

Beitrag von bluestar » 16.01.2020 17:02:07

bullgard hat geschrieben: ↑ zum Beitrag ↑
16.01.2020 15:21:19
1. Was hat der Kernelprozess kmemstick (noch) mit Sony zu tun? Wenn ich Debian stable mit diesem Prozess benutzen darf, ohne Gebühren zahlen zu müssen, dann wird wohl seine Funktionalität jetzt im Kernel unabhängig von Sony sein und mehr allgemeiner Natur sein. Nicht wahr?
Ich glaube hier herrscht bei dir ein Mißverständnis, der „Sony Memory Stick“ ist ein eigenes Speicherstick-Format, mit USB-Sticks hat das nix zu tun.

Ich vermute ein USB-Card-Reader bei dir unterstützt diese Sticks und daher wird das Modul geladen.
bullgard hat geschrieben: ↑ zum Beitrag ↑
16.01.2020 15:21:19
2. Warum läuft in meinem Debian-unstable-Rechner kein Prozess »kmemstick«?
Weil du keinen passenden Reader hast?

bullgard
Beiträge: 1642
Registriert: 14.09.2012 23:03:01

Re: Kernel-Prozess kmemstick - Funktion?

Beitrag von bullgard » 11.03.2020 23:14:20

Hallo bluestar,
vielen Dank!
Gruß
bullgard

bullgard
Beiträge: 1642
Registriert: 14.09.2012 23:03:01

Re: Kernel-Prozess kmemstick - Funktion?

Beitrag von bullgard » 11.03.2020 23:16:13

Hallo bluestar,
vielen Dank!
Gruß
bullgard

Antworten