You could try the following code snippet:
model1 = CNN()
model2 = CNN2()

# Copy weights
model2.conv1.weight.data.copy_(model1.conv1.weight.data)
print(torch.abs(model2.conv1.weight - model1.conv1.weight).sum())
> tensor(0.)

# Freeze conv1
model2.conv1.weight.requires_grad_(False)
print(model2.conv1.weight.requires_grad)
> False