ipmitool命令流程
https://zhuanlan.zhihu.com/p/145587345
IPMI is dead, Refish is long live.
RESTful specification proposal DSP0266 json and xml based schemas DSP8010
static struct tty_handler tty_handler = { .handler = { .name = “tty”, .init = tty_init, .fini = tty_fini, .baudrate = tty_baudrate, }, }; tty_init(): th->poller = console_poller_register(console, handler, tty_poll, NULL,th->fd, POLLIN, NULL); th->console = console; th->rbc = console_ringbuffer_consumer_register(console,tty_ringbuffer_poll, th);
tty_ringbuffer_poll
tty_dev: /dev/ttyVUART0 console->tty_fd = open(console->tty_dev, O_RDWR); console->pollfds[console->n_pollers].fd = console->tty_fd; console->pollfds[console->n_pollers].events = POLLIN;
console->pollfds[dbus_poller].fd = fd; console->pollfds[dbus_poller].events = POLLIN;
console->pollfds[3] = open(“/dev/ttyS1”, O_RDWR | O_NONBLOCK) |
>> Sending IPMI command payload
>> netfn : 0x06
>> command : 0x38
>> data : 0x8e 0x04
>> Sending IPMI command payload
>> netfn : 0x06
>> command : 0x3b
>> data : 0x04
>> Sending IPMI command payload
>> netfn : 0x2c
>> command : 0x3e
>> data : 0x00 0x02
>> Sending IPMI command payload
>> netfn : 0x06
>> command : 0x01
>> data :
>> Sending IPMI command payload
>> netfn : 0x2c
>> command : 0x00
>> data : 0x00
>> Sending IPMI command payload
>> netfn : 0x2c
>> command : 0x00
>> data : 0x03
sol active:
>> Sending IPMI command payload
>> netfn : 0x06
>> command : 0x48
>> data : 0x01 0x01 0xc6 0x00 0x00 0x00
>> Sending IPMI command payload
>> netfn : 0x06
>> command : 0x3c
>> data : 0x18 0x29 0x8a 0x18