⚠️Achtung: Hier ist rechtlich ALLES Werbung, da Markennennung⚠️ Computer scientist and designer from Berlin; Germany. Think different, in-depth video content. No script, my personal opinion, real world reviews, stuff that actually matters, and some more technical insights.
I do Linux and OpenSource stuff since ~1998, and founded the ExactCODE GmbH in 2005. At ExactCODE we also do Mac and Windows apps, including the award winning ExactScan scan suite, the OCRKit text recognition and PDF Re/compress for a paperless office, Over the years I wrote drivers for over 500 scanners, a whole image processing framework ExactImage, a full PDF library & a portable, dynamically typed UI system also used in our Windows and Linux ports.
You can find contributions from me all over the place, Linux kernel, GCC, Chrome & more. W/ T2 SDE Linux we cross compile thousands of packages to exotic architectures, including ARM, PowerPC, SPARC, …
As an Amazon Associate I earn from qualifying purchases.
Are they not EU and have a std outlet ? If they have have this cursed UK outlet it should be the same but can be at times fiddely and not recommend to try at home, ...!
Imagine doing this in 3 hours is like speed-running pro-gamers while we ordinary programmers took 5 hours to browse on Google, Stacksexchange or talk to ChatGPT.
That's a lie, I just asked chatgpt to double check and while "impressive" it could not do it and gave me the most minimal skeleton and told me to do it myself: chatgpt.com/share/892535a7-3dcc-4fca-a704-3d794b58b6d1 Writing a Linux kernel driver for a specific piece of hardware, such as the Apple Xserve USB front panel, is a complex task that requires an understanding of the hardware specifications and the Linux kernel's USB driver framework. Here's a basic outline of how you might start writing such a driver. Note that this is a simplified example and might not work out-of-the-box for your specific hardware, but it should give you a good starting point. Step-by-Step Guide Understand the Hardware: Obtain the hardware specifications for the Apple Xserve USB front panel. Determine the USB vendor ID and product ID. Understand the USB endpoints and the protocol used by the front panel. Set Up Your Development Environment: Install the necessary kernel headers and development tools. Ensure you have the source code for the Linux kernel you are targeting. Write the Driver: Here's a basic example of a USB driver skeleton for a hypothetical device: c Copy code #include <linux/module.h> #include <linux/usb.h> #define VENDOR_ID 0x05ac // Replace with actual vendor ID #define PRODUCT_ID 0x1234 // Replace with actual product ID static struct usb_device_id xserve_table[] = { { USB_DEVICE(VENDOR_ID, PRODUCT_ID) }, {} // Terminating entry }; MODULE_DEVICE_TABLE(usb, xserve_table); struct usb_xserve { struct usb_device *udev; struct usb_interface *interface; }; static int xserve_probe(struct usb_interface *interface, const struct usb_device_id *id) { struct usb_device *udev = interface_to_usbdev(interface); struct usb_xserve *dev; dev = kzalloc(sizeof(struct usb_xserve), GFP_KERNEL); if (!dev) { dev_err(&interface->dev, "Out of memory "); return -ENOMEM; } dev->udev = usb_get_dev(udev); dev->interface = interface; usb_set_intfdata(interface, dev); dev_info(&interface->dev, "USB Xserve front panel device now attached "); return 0; } static void xserve_disconnect(struct usb_interface *interface) { struct usb_xserve *dev; dev = usb_get_intfdata(interface); usb_set_intfdata(interface, NULL); usb_put_dev(dev->udev); kfree(dev); dev_info(&interface->dev, "USB Xserve front panel device now disconnected "); } static struct usb_driver xserve_driver = { .name = "xserve_usb", .id_table = xserve_table, .probe = xserve_probe, .disconnect = xserve_disconnect, }; module_usb_driver(xserve_driver); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Your Name"); MODULE_DESCRIPTION("USB Xserve front panel driver"); Explanation Module Initialization: usb_device_id array defines the devices supported by this driver. MODULE_DEVICE_TABLE macro makes sure that the USB subsystem knows about our supported devices. Probe Function: Called when a device matching the usb_device_id table is plugged in. Allocates memory for our device-specific structure and initializes it. Disconnect Function: Called when the device is unplugged. Cleans up by freeing allocated memory and putting the USB device. Driver Registration: module_usb_driver macro registers the driver with the USB subsystem. Building the Driver Create a Makefile: Makefile Copy code obj-m += xserve_usb.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean Compile the Driver: sh Copy code make Load the Driver: sh Copy code sudo insmod xserve_usb.ko Check Kernel Messages: sh Copy code dmesg | tail Unload the Driver: sh Copy code sudo rmmod xserve_usb Further Development Add USB Communication: Implement read, write, and ioctl operations if needed. Handle Errors: Add proper error handling and cleanup in the probe function. Power Management: Implement suspend and resume functions if required. Testing: Test extensively with the actual hardware. This is a basic skeleton and needs to be fleshed out with specific details about the Apple Xserve USB front panel. You may need to refer to documentation or reverse engineer the protocol if documentation is not available.
Mainly Filco Majestouch 2 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-XZtwmZQo-Z0.htmlsi=gOLX5PgCOouat043 but also ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-3ojdjQovNOQ.htmlsi=j55ZFTVZJLbE4Kiq
@@antomfdez I actually use Vim, (and Emacs) but without any special config or plugins). I just focus on getting my work done and not spending my time with playing and trying to configure plugins and config. I actually sometimes disabled syntax highlighting because it at times it becomes an unreadable mess of low contrast colors, e.g. vim'l latest version .patch file coloring, ...
Einfach nur gut, auch ihr Englisch ist fantastisch aber ein Deutscher erkennt einen deutschen ^^ Wie kommen sie zu diesen Fähigkeiten? Selbst beigebracht oder im Rahmen eines Studiums/Ausbildung etc? Oder doch eine gesunde Mischung vom beidem?