Hello, Naoned.
Could you try to specify a snapshot using --toSnapshot with snapshot id?
The id is shown in diskutil apfs list.
I think the system volume is mounted on a snapshot.
In my environment, disk2s5s1 is snapshot. it has correct seal and mount on '/'.
$ diskutil list apfs
...
+-> Volume disk2s5 D75FFE69-60AA-4C51-A3DE-52B1753DA61D
APFS Volume Disk (Role): disk2s5 (System)
Name: sysapfs (Case-insensitive)
Mount Point: /Users/username/mnt
Capacity Consumed: 15121588224 B (15.1 GB)
Sealed: Broken
FileVault: No (Encrypted at rest)
|
Snapshot: 5891FB51-B637-4CC6-8EEF-959D961167C8
Snapshot Disk: disk2s5s1
Snapshot Mount Point: /
Snapshot Sealed: Yes
In addition, Bombich Software (they makes Carbon Copy Cloner) also face a same obstacle, and they're working with Apple.
Post
Replies
Boosts
Views
Activity
Thank you, sl149q.
What do you mean the result from SetInterfaceEnable? According to a document (https://developer.apple.com/documentation/networkingdriverkit/iousernetworkethernet), we have to override the SetInterfaceEnable on a custom class that we define, and then the function called by system, I think. Also, GetMaxTransferUnit.
My code for these functions are following.
...
kern_return_t
IMPL(nictest, SetInterfaceEnable)
{
if(isEnable)
{
log("SetInterfaceEnable method is called [isEnable == true] : Return kIOReturnSuccess");
}
else
{
log("SetInterfaceEnable method is called [isEnable == false] : Return kIOReturnSuccess");
}
return kIOReturnSuccess;
}
...
kern_return_t
IMPL(nictest, GetMaxTransferUnit)
{
log("GetMaxTransferUnit method is called : return kIOReturnSuccess");
*mtu = 1500;
return kIOReturnSuccess;
}
...
Thanks.
I'm also trying to make a network device driver using NetworkingDriverKit. It seems to success a making queues, but I couldn't found any packet transmissions by my driver.
Logs of my driver in initialization as following.
default 10:29:43.107556+0900 kernel Found class: nictest
default 10:29:43.109040+0900 kernel init method is called
default 10:29:43.109380+0900 kernel Hello World at start
default 10:29:43.114891+0900 kernel net dext: IOUserNetworkPacketBufferPool::Create(this, "pool", packet_count, buffer_count, buffer_size, &pool);
default 10:29:43.115073+0900 kernel net dext: IOUserNetworkTxSubmissionQueue::Create(pool, this, packet_count, 0, dispatch_queue, &tx_sub_queue);
default 10:29:43.115077+0900 kernel net dext: sub_queue->CopyDataQueue(&ivars->tx_sub_dsource)
default 10:29:43.115098+0900 kernel net dext: CreateActionTxSubAvailable(sizeof (void*), &ivars->tx_sub_action);
default 10:29:43.115107+0900 kernel net dext: ivars->tx_sub_dsource->SetDataAvailableHandler(ivars->tx_sub_action);
default 10:29:43.115112+0900 kernel net dext: ivars->tx_sub_dsource->SetEnable(true);
default 10:29:43.115119+0900 kernel net dext: tx_sub_queue->SetEnable(true)
default 10:29:43.115226+0900 kernel net dext: IOUserNetworkTxCompletionQueue::Create(pool, this, packet_count, 0, dispatch_queue, &com_queue);
default 10:29:43.115230+0900 kernel net dext: tx_com_queue->CopyDataQueue(&ivars->tx_com_dsource);
default 10:29:43.115247+0900 kernel net dext: CreateActionTxComDataServiced(sizeof (void*), &ivars->tx_com_action);
default 10:29:43.115251+0900 kernel net dext: ivars->tx_com_dsource->SetDataAvailableHandler(ivars->tx_com_action);
default 10:29:43.115253+0900 kernel net dext: ivars->tx_com_dsource->SetEnable(true);
default 10:29:43.115257+0900 kernel net dext: tx_com_queue->SetEnable(true);
default 10:29:43.115381+0900 kernel net dext: IOUserNetworkRxSubmissionQueue::Create(pool, this, packet_count, 0, dispatch_queue, &rx_sub_queue);
default 10:29:43.115385+0900 kernel net dext: rx_sub_queue->CopyDataQueue(&ivars->rx_sub_dsource);
default 10:29:43.115401+0900 kernel net dext: CreateActionRxSubAvailable(sizeof (void*), &ivars->rx_sub_action);
default 10:29:43.115406+0900 kernel net dext: ivars->rx_sub_dsource->SetDataAvailableHandler(ivars->rx_sub_action);
default 10:29:43.115408+0900 kernel net dext: ivars->rx_sub_dsource->SetEnable(true);
default 10:29:43.115416+0900 kernel net dext: rx_sub_queue->SetEnable(true);
default 10:29:43.115709+0900 kernel net dext: IOUserNetworkRxCompletionQueue::Create(pool, this, packet_count, 0, dispatch_queue, &rx_com_queue);
default 10:29:43.115712+0900 kernel net dext: com_queue->CopyDataQueue(&ivars->rx_sub_dsource);
default 10:29:43.115729+0900 kernel net dext: CreateActionRxComDataServiced(sizeof (void*), &ivars->rx_com_action);
default 10:29:43.115739+0900 kernel net dext: ivars->rx_sub_dsource->SetDataServicedHandler(ivars->rx_com_action);
default 10:29:43.115741+0900 kernel net dext: ivars->rx_sub_dsource->SetEnable(true);
default 10:29:43.115746+0900 kernel net dext: rx_com_queue->SetEnable(true);
default 10:29:43.115776+0900 kernel net dext: const IOUserNetworkMediaType types[] = { kIOUserNetworkMediaEthernetAuto, kIOUserNetworkMediaEthernetNone, kIOUserNetworkMediaEthernet1000BaseT | kIOUserNetworkMediaOptionFullDuplex };
default 10:29:43.115778+0900 kernel net dext: ret = ReportAvailableMediaTypes(types, 3);
default 10:29:43.115806+0900 kernel net dext: ReportLinkStatus(kIOUserNetworkLinkStatusInactive, kIOUserNetworkMediaEthernetNone);
default 10:29:43.115832+0900 kernel net dext: RegisterEthernetInterface(macAddress, pool, ivars->queues, 4);
default 10:29:43.142245+0900 kernel net dext: GetMaxTransferUnit methos is called
default 10:29:43.143402+0900 kernel net dext: SetInterfaceEnable method is called [isEnable == true]
default 10:29:43.143810+0900 kernel net dext: SetInterfaceEnable method is called [isEnable == false]
I'm not sure why this driver is disabled after enabled. Do you have any solution for it?
Thank you.