Kernel space: Linux gets CAN support
The rugged communications bus designed for automotive and other high-noise applications now has Linux support, thanks to kernel developers at Volkswagen.
The Controller Area Network (CAN) specification describes a networking stack aimed at a specific environment: embedded, realtime controller networks. At the physical layer, it uses a differential serial technology which is intended to be highly resistant to electrical noise. The higher-level protocols use short datagrams (eight bytes maximum payload) and extensive checksumming to minimize the effect of errors. The protocols are simple in the extreme, placing the smallest possible demand on embedded controllers. CAN will be found in relatively small and hostile environments - inside automobiles, for example. So it makes sense that an automobile manufacturer—not the sort of company known for leading-edge Linux kernel development—is working to get a CAN implementation into the mainline kernel.