An uplink data packet transmission method, comprising: determining (S304a, S304b, S406, S506, S606, S702), by a terminal device, a cyclic prefix, CP, length of a first uplink data frame, wherein the CP length of the first uplink data frame is greater than a first CP length, and the first CP length is a CP length of an uplink data frame sent by a terminal device that is in a state of uplink synchronization and in an RRC connected state; wherein the method further comprises: if the terminal device is in a state of out of uplink synchronization with a base station and in a radio resource control, RRC, connected state, or the terminal device is in an RRC idle state, generating (S308, S412, S516, S612, S704), by the terminal device, the first uplink data frame for an uplink data packet according to the CP length; and sending (S310, S414, S518, S614, S706), by the terminal device, the first uplink data frame for the uplink data packet to the base station; the method further comprises: before the sending (S310, S414, S518, S614, S706) the first uplink data frame for the uplink data packet, omitting, by the terminal device in the state of out of uplink synchronization with the base station and in the RRC connected state or by the terminal device in the RRC idle state, a random access procedure and an uplink synchronization procedure. determining (S304a, S304b, S406, S506, S606, S702), by a terminal device, a cyclic prefix, CP, length of a first uplink data frame, wherein the CP length of the first uplink data frame is greater than a first CP length, and the first CP length is a CP length of an uplink data frame sent by a terminal device that is in a state of uplink synchronization and in an RRC connected state; wherein the method further comprises: if the terminal device is in a state of out of uplink synchronization with a base station and in a radio resource control, RRC, connected state, or the terminal device is in an RRC idle state, generating (S308, S412, S516, S612, S704), by the terminal device, the first uplink data frame for an uplink data packet according to the CP length; and sending (S310, S414, S518, S614, S706), by the terminal device, the first uplink data frame for the uplink data packet to the base station; the method further comprises: before the sending (S310, S414, S518, S614, S706) the first uplink data frame for the uplink data packet, omitting, by the terminal device in the state of out of uplink synchronization with the base station and in the RRC connected state or by the terminal device in the RRC idle state, a random access procedure and an uplink synchronization procedure. if the terminal device is in a state of out of uplink synchronization with a base station and in a radio resource control, RRC, connected state, or the terminal device is in an RRC idle state, generating (S308, S412, S516, S612, S704), by the terminal device, the first uplink data frame for an uplink data packet according to the CP length; and sending (S310, S414, S518, S614, S706), by the terminal device, the first uplink data frame for the uplink data packet to the base station; the method further comprises: before the sending (S310, S414, S518, S614, S706) the first uplink data frame for the uplink data packet, omitting, by the terminal device in the state of out of uplink synchronization with the base station and in the RRC connected state or by the terminal device in the RRC idle state, a random access procedure and an uplink synchronization procedure.